형식def가 없으면 일반적으로 정의 구문과 캐스트 구문을 서로 교환하여 사용할 수 없습니다. 예: 일명 구조입니다. 구조체는 변수를 함께 그룹화하는 방법이며, 아마도 다른 유형일 수 있습니다. 하나는 선언 된 구조의 여러 인스턴스를 가질 수 있습니다. 구조내의 변수를 멤버라고 합니다. 여기서는 c 프로그래밍 언어로 구조에 별칭을 정의하는 방법과 typedef를 사용하여 구조를 선언하는 방법을 배우게 됩니다. IncludeHelp에 의해 제출, 9 월 11, 2018 정수 구성 요소, s.account_number에 의해 액세스 하는 부동 소수점 구성 요소, s.balance에 의해 액세스, 뿐만 아니라 first_name 및 last_name 구성 요소. 구조s에는 네 개의 값이 모두 포함되며 네 필드 모두 독립적으로 변경될 수 있습니다. 11줄은 my_point2의 x 멤버를 4로 변경합니다. 을 참조하십시오.

연산자. 이렇게 하면 읽기와 쓰기 모두에 대 한 구조 변수의 멤버에 액세스할 수 있습니다. C는 구조체의 재귀 선언을 허용하지 않습니다. 구조체는 구조체 자체의 형식을 포함하는 필드를 포함할 수 없습니다. 그러나 포인터는 인스턴스를 참조하는 데 사용할 수 있습니다 : 구조체 선언 및 typedef는 단일 문으로 결합 될 수 있습니다 : C에서는 포인터 또는 비 포인터와 구조를 혼합하여 단일 문에서 동일한 유형의 여러 변수를 선언 할 수 있습니다. . 그러나 포인터로 지정하려면 각 변수에 별표를 접두사를 지정해야 합니다. 다음에서 프로그래머는 errptr이 실제로 노드 *라고 가정할 수 있지만 인쇄 상의 오류는 errptr이 노드임을 의미합니다. 이로 인해 구문 오류가 발생할 수 있습니다. 참고: 변수를 선언하는 동안 구조체 키워드를 사용할 필요가 없습니다. 형식 def는 배열 형식의 정의를 단순화하는 데 사용할 수도 있습니다. 예를 들어 대규모 프로그램에서 구조체는 관련 변수 그룹이 단일로 처리되도록 복잡한 데이터를 구성하는 데 도움이 될 수 있습니다.

이렇게 하면 코드가 더 구조화됩니다(말장난 의도). 구조를 초기화하는 방법에는 세 가지가 있습니다. 구조체 형식의 경우 C의 구조체 선언에 대한 일반 구문은 구조체 멤버에 액세스하려면 구조체 변수라고 하는 구조체의 개체가 필요합니다. C 구조체는 실제 메모리의 연속 블록을 직접 참조하며, 일반적으로 단어 길이 경계에 의해 구분(크기)됩니다. 인텔 프로세서용 일부 어셈블러에서 사용할 수 있는 유사한 이름의 기능에 해당합니다. 반단어 또는 바이트 경계를 활용할 수 있는 언어 구현(메모리를 적게 사용하여 더 조밀한 압축을 제공)은 80년대 중반에 고급으로 간주되었습니다. 연속 메모리 블록이기 때문에 구조체 내의 각 필드는 처음부터 특정 고정 오프셋에 있습니다. 그림으로, 많은 BASIC 인터프리터는 한 때 문자열 데이터를 가리키는 하나의 인덱싱(커서 값)을 이전 줄에 기록한 하나의 값으로 문자열 데이터 구조체 조직을 필드로 처리했습니다.