C++에서 구조 체 의 정의,초기 화,인용 분석
하나의 구조 체 유형 을 설명 하 는 형식 은
struct Student{ // Student
int num; // num
char name[20]; // name
char sex; // sex
int age; // age
float score; //
char addr[30]; // addr
}
구조 체 유형 변수의 정의 방법 과 초기 화 이다.구조 체 변 수 를 정의 하 는 방법:(1)구조 체 유형 이 변수 이름
#include<iostream>
using namespace std;
int main(){
struct Student{ // Student
int num; // num
char name[20]; // name
char sex; // sex
int age; // age
float score; //
char addr[30]; // addr
};
Student student1,student2;// student1 student2
cout<<sizeof(Student)<<endl;
cout<<sizeof(student1)<<endl;
cout<<sizeof(student2)<<endl;
return 0;
}
을 정의 하고 있 음 을 먼저 설명 합 니 다.구조 체 변 수 를 정의 한 후에 시스템 은 메모리 셀 을 분배 합 니 다.(sizeof 함수 로 분 배 된 바이트 수 를 볼 수 있 습 니 다.컴 파일 시스템 에 차이 가 있 습 니 다)
(2)성명 유형 과 동시에 변수 정의
#include<iostream>
using namespace std;
int main(){
struct Student{ // Student
int num; // num
char name[20]; // name
char sex; // sex
int age; // age
float score; //
char addr[30]; // addr
}student1,student2;// student1 student2
cout<<sizeof(Student)<<endl;
cout<<sizeof(student1)<<endl;
cout<<sizeof(student2)<<endl;
return 0;
}
(3)구조 체 유형 변수 직접 정의
#include<iostream>
using namespace std;
int main(){
struct { // Student
int num; // num
char name[20]; // name
char sex; // sex
int age; // age
float score; //
char addr[30]; // addr
}student1,student2;// student1 student2
cout<<sizeof(student1)<<endl;
cout<<sizeof(student2)<<endl;
return 0;
}
이런 정의 방법 은 비록 합 법 적 이지 만 자주 사용 되 지 않 는 다.비교적 자주 사용 하 는 것 은 첫 번 째 방법 이다.
구조 체 의 유형 에 대해 주의해 야 할 몇 가지 점:(1)유형 과 변 수 는 서로 다른 개념 이 므 로 혼동 하지 마 세 요.구조 체 변수 중의 구성원 에 게 만 값 을 부여 할 수 있 을 뿐 구조 체 유형 에 대해 서 는 값 을 부여 할 수 없습니다.
(2)구조 체 변수 중의 구성원(즉,'도 메 인')에 대해 단독으로 사용 할 수 있 고 그의 역할 과 위 치 는 같은 유형의 일반 변수 에 해당 한다.
(3)구조 체 의 구성원 도 하나의 구조 체 변수 일 수 있다.
#include<iostream>
using namespace std;
struct Date{ // Date
int month; //
int day; //
int year; //
};
struct Student{ // Student
int num; // num
char name[20]; // name
char sex; // sex
int age; // age
Date birthday; //Date ,birthday Date
float score; //
char addr[30]; // addr
};
int main(){
Student qianshou;
Date riqi;
cout<<sizeof(riqi)<<endl;
cout<<sizeof(qianshou)<<endl;
return 0;
}
(5)구조 체 의 구성원 명 은 프로그램의 변수 명 과 같 을 수 있 지만 둘 은 관계 가 없다.예 를 들 어 프로그램 에서 성형 변 수 를 따로 정의 할 수 있 습 니 다.그 는 student 중의 num 과 는 별 개의 일이 고 서로 영향 을 주지 않 습 니 다.
2 구조 체 변수의 초기 화(1)는 구조 체 를 정의 할 때 구조 체 변수 에 대한 초기 값
struct Student{ // Student
int num; // num
char name[20]; // name
char sex; // sex
int age; // age
float score; //
char addr[30]; // addr
} student1={
10001,
"qianshou",
'm',
19,
"100",
"JiNan"
};
(2)을 지정 하여 변 수 를 정의 할 때 초기 화(이런 방법 이 더 자주 사용)
struct Student{ // Student
int num; // num
char name[20]; // name
char sex; // sex
int age; // age
float score; //
char addr[30]; // addr
};
Student student1={
<SPAN style="WHITE-SPACE: pre"> </SPAN> 10001,
<SPAN style="WHITE-SPACE: pre"> </SPAN> "qianshou",
<SPAN style="WHITE-SPACE: pre"> </SPAN> 'm',
<SPAN style="WHITE-SPACE: pre"> </SPAN> 19,
<SPAN style="WHITE-SPACE: pre"> </SPAN> "100",
<SPAN style="WHITE-SPACE: pre"> </SPAN> "JiNan"
<SPAN style="WHITE-SPACE: pre"> </SPAN> };
구조 체 변수의 인용 은 구조 체 변 수 를 정의 한 후에 이 변 수 를 인용 할 수 있다.(1)구조 체 변수 중 한 구성원 의 값 참조
인용 방식:구조 체 변수 명.구성원 명
그 중에서"."는 구성원 연산 자 입 니 다.모든 연산 자 중에서 우선 순위 가 가장 높 습 니 다.
#include<iostream>
using namespace std;
struct Date{ // Date
int month; //
int day; //
int year; //
};
struct Student{ // Student
int num; // num
char name[20]; // name
char sex; // sex
int age; // age
Date birthday; //Date ,birthday Date
float score; //
char addr[30]; // addr
};
int main(){
Student one={001,"qianshou",'m',19,10,1,1993,100,"JiNan"};
cout<<one.num<<endl;
cout<<one.name<<endl;
cout<<one.sex<<endl;
cout<<one.age<<endl;
cout<<one.birthday.month<<"/"<<one.birthday.day<<"/"<<one.birthday.year<<endl;
cout<<one.score<<endl;
cout<<one.addr<<endl;
return 0;
}
만약 에 한 구성원 본사 도 하나의 구조 체 유형 이 라면 몇 개의 구성원 연산 자 를 사용 하여 한 단계 한 단계 최저 등급 의 구성원 을 찾 아야 한다.예 를 들 어
cout<<one.birthday.month<<"/"<<one.birthday.day<<"/"<<one.birthday.year<<endl;
(2)하나의 구조 체 변수의 값 을 같은 기 구 를 가 진 다른 구조 체 변수 에 지불 할 수 있다.
#include<iostream>
using namespace std;
struct Date{ // Date
int month; //
int day; //
int year; //
};
struct Student{ // Student
int num; // num
char name[20]; // name
char sex; // sex
int age; // age
Date birthday; //Date ,birthday Date
float score; //
char addr[30]; // addr
};
int main(){
Student two={1,"qianshou",'m',19,10,01,1993,100,"JiNan"};
Student one=two;
cout<<one.num<<endl;
cout<<one.name<<endl;
cout<<one.sex<<endl;
cout<<one.age<<endl;
cout<<one.birthday.month<<"/"<<one.birthday.day<<"/"<<one.birthday.year<<endl;
cout<<one.score<<endl;
cout<<one.addr<<endl;
return 0;
}
(3)구조 체 변수의 주 소 를 인용 할 수도 있 고 구조 체 변수 구성원 의 주 소 를 인용 할 수도 있다.
#include<iostream>
using namespace std;
struct Date{ // Date
int month; //
int day; //
int year; //
};
struct Student{ // Student
int num; // num
char name[20]; // name
char sex; // sex
int age; // age
Date birthday; //Date ,birthday Date
float score; //
char addr[30]; // addr
};
int main(){
Student two={1,"qianshou",'m',19,10,01,1993,100,"JiNan"};
Student &one=two;
one.num++;
one.birthday.day+=10;
cout<<two.num<<endl;
cout<<two.name<<endl;
cout<<two.sex<<endl;
cout<<two.age<<endl;
cout<<two.birthday.month<<"/"<<two.birthday.day<<"/"<<two.birthday.year<<endl;
cout<<two.score<<endl;
cout<<two.addr<<endl;
return 0;
}
작은 실례:
#include<iostream>
using namespace std;
struct Date{ // Date
int month; //
int day; //
int year; //
};
struct Student{ // Student
int num; // num
char name[20]; // name
char sex[5]; // sex
int age; // age
Date birthday; //Date ,birthday Date
float score; //
char addr[30]; // addr
};
int main(){
Student one;
//
cout<<" :";
cin>>one.num;
cout<<" :";
cin>>one.name;
cout<<" :";
cin>>one.sex;
cout<<" :";
cin>>one.age;
cout<<" :";
cin>>one.birthday.year;
cin>>one.birthday.month;
cin>>one.birthday.day;
cout<<" :";
cin>>one.score;
cout<<" :";
cin>>one.addr;
//
cout<<"
";
cout<<" :"<<one.num<<endl;
cout<<" :"<<one.name<<endl;
cout<<" :"<<one.sex<<endl;
cout<<" :"<<one.age<<endl;
cout<<" :"<<one.birthday.year<<"/"<<one.birthday.month<<"/"<<one.birthday.day<<endl;
cout<<" :"<<one.score<<endl;
cout<<" :"<<one.addr<<endl;
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어의 구조 체 배열C 언어의 구조 체 배열 1. 구조 체 배열 개념 2. 구조 체 배열 의 정의 와 초기 화 3. 구조 체 배열 의 인용 구조 체 배열 의 개념 요 소 는 구조 체 유형의 배열 을 구조 체 배열 이 라 고 부 르 는데...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.