구조 와 연합
5100 단어 C 언어
취 합 데이터 구조: 배열 구조 체 구조 체 값 의 집합 은 구성원 배열 이 아래 표 시 를 통과 하고 구조 체 는 이름 을 통 해 방문 - 차이 가 매우 중요 한 구조 체 와 배열 이 다 르 며 지침 으로 바 꿀 수 없다.구조 체 는 스칼라 에 속 하여 가감 곱 하기 나 누 기 는 할 수 없 지만 값 을 부여 할 수 있다.
1.1 구조 설명:
C 언어 에서 구조 체 가 분배 하 는 메모리 가 연속 이 라 고 규정 하지 않 았 지만 일부 컴 파 일 러 는 구조 체 에 연속 적 인 공간 을 분배 할 것 이다
struct
{
int x;
}z;
struct
{
int x;
}y;
z = y
//error struct <unnamed> struct <unnamed>
struct a
{
int x;
}f;
//**a , 。**
typedef struct b
{
int x;
}h;
// typedef , h , 。
1.2 구조 구성원
구조 체 에는 여러 종류의 데 이 터 를 포함 할 수 있다.
struct COM
{
int h;
char b;
float c[20];
double d;
struct a;
};
1.3 구조 체 구성원 의 직접 방문
COM.h;
(COM.a).a;
//
(COM.c)[4]
//
1.4 구조 체 구성원 의 간접 방문
구조 체 를 가리 키 는 지침 이 있 으 면 화살표 연산 자로 구성원 을 간접 적 으로 방문한다.
struct as
{
int a;
char b;
};
struct as *p;
p->a;
p->b;
//OR
(*p).a;
(*p).b;
1.5 구조 체 의 자체 인용
struct St
{
int a;
int c;
struct St;
};
//error
struct St1
{
int a;
int c;
struct St1 *p;
}
//OK.
typedef struct
{
int a;
int c;
struct St1 *p;
} St2;
//error St2 , , , 。
1.7 구조 체 의 초기 화
2. 구조 포인터 와 멤버
typedef struct
{
int a;
short b;
} EX2;
typedef struct EX
{
int a;
char b[3];
EX2 c;
struct EX *b;
} EX;
EX x= {10,"Hi",{5,{-1,25}},0};
EX *px = &x;
2.1 액세스 포인터:
다시 한 번 말씀 드 리 지만 C 언어 에 서 는 구조 체 가 분배 하 는 메모리 가 연속 적 인 것 이 라 고 규정 하지 않 았 지만 일부 컴 파일 러 는 구조 체 에 연속 적 인 공간 을 분배 할 것 입 니 다.
px 는 구조 체 의 첫 번 째 요 소 를 가리킨다. *(P + 1) 불법 입 니 다. 원인 은 같 습 니 다.
2.3 액세스 구조 구성원
비교 * p and p - > a;이 두 가지 조작 은 모두 구조 체 를 가리 키 는 첫 번 째 요소 이지 만 약간 다르다. *p 는 전체 구조 체 p - > a 를 가리 키 며 그의 첫 번 째 구성원 을 가리킨다.
int *fp;
fp = p;//error,
2.4 끼 워 넣 은 구조 에 접근
p - > c. a p - > c 는 구조 체 C 를 가리 키 며 결 과 는 포인터 가 아니 라 변수 입 니 다.그래서 c. a 로 * (p - > c. b) 구조 체 c 의 배열 b 의 첫 번 째 요 소 를 직접 방문 합 니 다.
3. 구조의 저장 형식:
다른 박문 을 참고 하여 총 결 한 것:
구조 체 자체 가 사용자 정의 데이터 형식 이기 때문에 구조 체 변 수 를 정의 하 는 방법 은 일반 변 수 를 정의 하 는 방법 과 같다.메모: 구조 체 생명 체 는 메모리 공간 을 차지 하지 않 습 니 다. 구조 체 형식 으로 구조 체 변 수 를 정의 할 때 만 컴퓨터 가 메모 리 를 할당 합 니 다.구조 체 역시 지침 을 정의 할 수 있 는 구조 체 지침 을 구조 지침 이 라 고 한다.구조 체 는 배열 이 명확 하 게 묘사 할 수 없 는 구 조 를 묘사 할 수 있 고 배열 이 갖 추 지 못 한 기능 적 특성 을 가진다.void print_score (struct a * pn) 의 효율 은 void print 보다 높 아야 합 니 다.score (struct a pn) 의 경우 직접 메모리 작업 으로 인해 스 택 공간 이 구조 변수 공간 수 요 를 피 할 수 있 고 메모 리 를 절약 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.