Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C에서 구조체와 배열의 차이점

<시간/>

C에서 Structure와 Array는 모두 데이터 유형의 컨테이너로 사용됩니다.

내부 구현을 기준으로 다음은 둘 사이의 몇 가지 기본적인 차이점입니다.

Sr. 아니요. 구조 배열
1 정의 구조는 다양한 유형의 변수를 담을 수 있는 컨테이너로 사용되는 데이터 구조로 정의할 수 있습니다. 반면 Array는 같은 유형의 변수를 담을 수 있고 여러 데이터 유형 변수를 지원하지 않는 컨테이너로 사용되는 데이터 구조 유형입니다.
2 메모리 할당 구조의 입력 데이터에 대한 메모리 할당은 연속적인 메모리 위치에 있을 필요가 없습니다. 배열의 경우 연속 메모리 블록(즉, 연속 주소를 갖는 메모리 블록)을 할당하는 메모리 모델에 어레이가 데이터를 저장함을 의미하는 연속 메모리 할당에 저장된 입력 데이터.
3 접근성 구조의 요소에 액세스하려면 해당 요소의 이름이 있어야 합니다. 즉, 구조에서 검색하기 위한 요소 이름이 있어야 합니다. 반면에 Array의 경우 인덱스로 요소에 접근할 수 있습니다.
4 포인터 구조는 내부적으로 포인터의 개념이 없습니다. 반면 Array의 경우 항상 Array의 첫 번째 요소를 가리키는 Pointer를 내부적으로 구현합니다.
5 인스턴스화 Structure 객체는 나중에 프로그램에서 선언 후 생성할 수 있습니다. 반면 Array의 경우 선언 후 객체를 생성할 수 없습니다.
6 데이터 유형 구조는 입력으로 여러 데이터 유형 변수를 지원합니다. 반면 Array의 경우 같은 타입의 데이터 변수만 지원하기 때문에 다른 데이터 타입의 변수를 입력으로 사용할 수 없습니다.
7 성능 Structure는 정의된 데이터 유형을 사용하여 Array에 비해 액세스 및 요소 검색이 느린 구조로 성능이 저하됩니다. 반면에 Array의 경우 접근과 요소 검색이 더 빨라서 성능이 더 좋습니다.