C 언어 구조 유형
9095 단어 C 언어 학습 기록c 언어데이터 구조
이 글 은 개인 이 C 언어 구조 유형 을 배 우 는 과정 에서 의 필기 와 정 리 를 위해 부족 한 점 이 있 으 면 신의 지적 을 바 랍 니 다.
1. 매 거 유형
⭐기호 상 계량 화: 구체 적 인 숫자 가 아 닌 기호 로 프로그램의 숫자 를 나타 내 는 것 은 프로그램 이 간결 하고 읽 기 편리 하 다.
const int red = 0;
const int yellow = 1;
const int green = 2;
매 거 진 형식 은 상수 정 의 를 더욱 편리 하 게 할 수 있 습 니 다.
매 거 유형: 매 거 는 사용자 가 정의 하 는 데이터 형식 으로 키워드 enum 으로 다음 과 같은 문법 으로 표시 합 니 다.
enum { 0,..., n};
enum COLOR {RED. YELLOW, GREEN};
두 번 째 줄 문 구 는 세 개의 상수 를 만 들 고 그 값 은 순서대로 배열 합 니 다. 즉, RED = 0 입 니 다.YELLOW = 1; GREEN = 2;(초기 화 할 때 값 을 부여 할 수도 있 습 니 다)
배열 할 수 있 는 상수 값 이 필요 할 때 매 거 진 유형 을 정의 하 는 의 미 는 이러한 상수 값 이름 을 주 는 것 이다.
enum COLOR {RED. YELLOW, GREEN};
void function(enum color c){...};
int main(){
enum corlor a = RED;
}
2. 구조 유형
구조 유형 (구조 체) 은 하나의 유형 으로 여러 개의 키 유형의 집합 을 나 타 낼 수 있 는데 그 중에서 모든 키 유형 은 이 구조의 구성원 이 된다.
구조 형식의 성명 과 사용:
struct data {
type name0; //type: ; name:
type name1;
...
};
struct data a;
상기 정의 방식 은 사용 할 때 편 의 를 위해 type: def 를 사용 하여 전 의 를 간소화 합 니 다. 예 를 들 어:
typedef struct data{
type name;
...
}data; // data struct data ;
구조 유형 에는 또 다른 성명 방식 이 있다.
struct {
type name0; //type: ; name:
type name1;
...
}a1,a2; //a1 a2 , name0 name1...
// : a1、a2, data!!!
struct data {
type name0; //type: ; name:
type name1;
...
}b1,b2; //b1 b2 data , name0 name1...
//
구조 유형 은 함수 내 / 외부 에서 정의 할 수 있 으 며, 일반적으로 함수 외 에 정의 되 며, 이러한 구조 유형 은 전역 적 으로 사용 할 수 있다.
접근 구조 구성원:
구 조 는 일반적으로 '.' 연산 자 와 이름 으로 구성원 을 방문 합 니 다. 예 를 들 어:
data.name0
data.name1
구조 연산
a = (stryct data){1,2}; // name0 name1 int, a.name0=1,a.name1=2;
구 조 는 함수 매개 변수 로 한다.
- > 포인터 가 가리 키 는 구조 변수 중의 구성원 을 표시 합 니 다 (의 미 는 '가리 키 는 것' 입 니 다)
struct data *getstruct(struct data *p){
scanf("%d", &p->name0);
return p; //
}
구 조 는 끼 워 넣 을 수 있다.
구조 배열 을 가리 키 는 지침
정의: 포인터 변 수 는 하나의 구조 배열 을 가리 킬 수 있 습 니 다. 이때 구조 포인터 변수의 값 은 전체 구조 배열 의 첫 번 째 주소 입 니 다. 구조 포인터 변 수 는 구조 배열 의 요 소 를 가리 킬 수 있 습 니 다. 이때 구조 포인터 변수의 값 은 이 구조 배열 요소 의 첫 번 째 주소 입 니 다.
구조 포인터 변 수 는 구조 변수 나 구조 배열 요소 의 구성원 에 게 접근 할 수 있 지만 한 구성원 을 가리 킬 수 없습니다. 즉, 한 구성원 의 주 소 를 가 져 와 서 부여 할 수 없습니다. 따라서 아래 의 할당 은 잘못 되 었 습 니 다.
ps=&boy[1].sex;
ps = boy; / (배열 의 첫 주 소 를 부여 합 니 다)
또는: ps = & boy [0]; / (0 번 요소 의 첫 번 째 주 소 를 부여 합 니 다)
3. 연합 유형
연합 유형의 정의 방식 과 사용 방식 은 구조 유형 과 비슷 하 다.
구조 유형 과 의 차 이 는 모든 구성원 이 메모리 공간 을 공유 하고 연합 유형의 모든 구성원 은 같은 시간 에 하나의 역할 만 할 수 있 기 때문에 그 가 사용 하 는 메모리 공간 은 모든 구성원 중에서 가장 큰 크기 이다.
요약:
⭐유 니 온 형식 데 이 터 를 통 해 정수 나 다른 유형의 데 이 터 를 간접 적 으로 얻 을 수 있 는 단일 바이트
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 프로그램과 C 언어의 차이에 대한 간단한 분석C 언어를 배운 우리에게 자바는 비교적 간단한 프로그래밍 언어라고 할 수 있다. Java 언어에서는 모든 변수를 먼저 선언해야 사용할 수 있습니다. 그렇지 않으면 프로그램이 실행될 수 없습니다.하나의 C 언어는 몇 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.