C언어 - 포인터와 배열
2020. 11. 11. 22:27ㆍ개인공부/C언어
int main(){
int arr[10];
const int num = sizeof(arr) / sizeof(arr[0]);
for(int i=0; i < num; i++)
arr[i] = (i+1) * 100;
int *ptr = arr;
printf("%p %p %p\n", ptr, arr, &arr[0]);
ptr += 2;
printf("%p %p %p\n", ptr, arr + 2, &arr[2]);
//Note : arr += 2; //invalid
return 0;
}
동적할당을 받은 메모리를 배열처럼 포인터를 통해서 사용을 실전에서 더 많이 사용
배열을 직접 포인터 연산을 할수는 없다.
arr += 2; 처럼 쓸수 없다.
int* ptr = arr;
for (int i =0 ; i< num; i++)
{
printf("%d %d\n", *ptr++, arr[i]);
}
return 0;
arr[]과 *ptr 같은 값이 나온다.
출처 : 홍정모의 따라배우는 C언어
'개인공부 > C언어' 카테고리의 다른 글
C언어 - 배열을 함수에게 전달해주는 방법 (0) | 2020.11.12 |
---|---|
C언어 - 2차원 배열과 메모리 (0) | 2020.11.11 |
C언어 - 포인터의 산술 연산 (0) | 2020.11.11 |
C언어 - 배열의 기본적인 사용방법 (0) | 2020.11.11 |
C언어 - 배열과 메모리 (0) | 2020.11.11 |