포인터 3

C 공부 7일차 Chapter 13

포인터 연산 포인터를 대상으로 증감 연산을 실행할 경우 포인터의 형에 따라 증감의 크기가 결정된다. 예를 들어 int형 포인터 ptr에 +2 연산을 할 경우 증감크기(2) * 포인터형의 크기(4) = 8이 증가하게 된다. Type 형 포인터의 크기를 n 만큼 증가 시 ==> sizeof(Type) * n 만큼이 증가하는 것이다. 이를 통해 배열에 순차적으로 접근할 수 있게 된다. int arr[3] = { 11, 22, 33 }; int * ptr = arr; for (int i = 0; i < sizeof(arr)/sizeof(int); i++) printf("%d \n", *(ptr+i)); 위의 코드처럼 배열 접근 시 응용하여 사용이 가능하다. *(++ptr) = 20; *(ptr+1) = 20; ..

C 2022.09.12

C 공부 5일차 Chapter 12

포인터 C언어는 포인터를 통해 메모리에 직접 접근이 가능하기에 low 레벨 언어의 특성을 갖고 있다고 할 수 있다. 포인터 변수에도 변수의 자료형처럼 형이 존재하는데 이가 필요한 이유는 메모리 공간에 접근 시 기준을 마련해준다. 예를 들어 int형 포인터 변수 p는 p가 가리키는 변수의 내용을 4바이트를 읽어들여 이를 정수로 해석한다. 포인터 변수의 크기 32비트 시스템에서는 주소를 32비트로 표현하는 반면 64비트 시스템에서는 64비트로 표현한다. 따라서 32비트 시스템에서 포인트 변수의 크기는 4바이트, 64비트 시스템에서 포인트 변수의 크기는 8바이트이다. & 연산자 &연산자는 오른쪽에 오는 피연산자의 주소값을 반환하는 연산자로\ 피연산자는 변수만 가능하다. 상수는 피연산자 자리에 올 수 없다! 널..

C 2022.09.09