포인터와 배열의 차이점을 보여주는 자세한 내용은 다음과 같습니다.
포인터
포인터는 다른 변수의 주소를 저장하는 변수입니다. 메모리가 변수에 할당되면 포인터는 변수의 메모리 주소를 가리킵니다. 단항 연산자( * )는 포인터 변수를 선언하는 데 사용됩니다.
다음은 포인터 선언 구문입니다.
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