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

C에서 포인터와 배열의 차이점


포인터와 배열의 차이점을 보여주는 자세한 내용은 다음과 같습니다.

포인터

포인터는 다른 변수의 주소를 저장하는 변수입니다. 메모리가 변수에 할당되면 포인터는 변수의 메모리 주소를 가리킵니다. 단항 연산자( * )는 포인터 변수를 선언하는 데 사용됩니다.

다음은 포인터 선언 구문입니다.

datatype *variable_name;

여기서 datatype은 int, char, float 등과 같은 변수의 데이터형이고 variable_name은 사용자가 지정한 변수의 이름입니다.

포인터를 보여주는 프로그램은 다음과 같습니다.

예시

#include <stdio.h>
int main () {
   int a = 8;
   int *ptr;
   ptr = &a;
   printf("Value of variable a: %d\n", a);
   printf("Address of variable a: %d\n", ptr);
   return 0;
}

위 프로그램의 출력은 다음과 같습니다.

Value of variable a: 8
Address of variable a: -2018153420

배열

배열은 인접한 메모리 위치에 있는 동일한 유형의 요소 모음입니다. 배열의 가장 낮은 주소는 첫 번째 요소에 해당하고 가장 높은 주소는 마지막 요소에 해당합니다. 배열 인덱스는 0부터 시작하여 배열 크기에서 1을 뺀 값(배열 크기 - 1)으로 끝납니다.

출력

다음은 배열의 구문입니다.

type array_name[array_size ];

여기서 array_name은 배열의 이름이고 array_size는 배열의 크기입니다.

배열을 보여주는 프로그램은 다음과 같습니다.

예시

#include <stdio.h>
int main () {
   int a[5];
   int i,j;
   for (i = 0;i<5;i++) {
      a[i] = i+100;
   }
   for (j = 0;j<5;j++) {
      printf("Element[%d] = %d\n", j, a[j] );
   }
   return 0;
}

출력

위 프로그램의 출력은 다음과 같습니다.

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104