[c] 포인터의 포인터
#include void pswap(int *p1, int*p2);int main(void){int A = 10, B = 20;int *pA, *pB; pA = &A, pB = &B; // Before callprintf("pA -> : %d\n", *pA);printf("pB -> : %d\n", *pB); pswap(pA, pB); // After callprintf("pA -> : %d\n", *pA);printf("pB -> : %d\n", *pB); return 0;} void pswap(int *p1, int *p2){int *temp;temp = p1;p1 = p2;p2 = temp;} 1. 모든 포인터 변수는 4바이트 메모리 공간2. 가리킨다라는 말과 주소값을 갖는다는 동의어이다 #incl..
2017. 5. 14.
[c] 함수의 인자로 배열 전달하기
#include void fct(int *arr2); int main(void){int arr1[2] = { 1,2 };fct(arr1);printf("%d\n", arr1[0]);return 0;} void fct(int *arr2){printf("%d\n", arr2[0]);arr2[0] = 3;} 1. 함수 오랜만에 본다..2. 어레이를 선언하고 초기화 했는데 함수에서는 포인터 형태의 매개변수를 사용하네?3. 배열 이름은 첫 번째 요소의 주소 값을 의미하는 상수 포인터이다...4. 그래서 fct 함수의 매개 변수 타입이 int 형 포인터이다. #include int ArrAdder(int* pArr, int n); int main(void){int arr[10] = {1,2,3,4,5,6,7,8,9..
2017. 5. 14.
[c] 배열 요소로 포인터를 지니는 포인터 배열
#include int main(void){int a = 10, b = 20, c = 30;int* arr[3] = { &a, &b, &c }; printf("%d\n", *arr[0]);printf("%d\n", *arr[1]);printf("%d\n", *arr[2]); return 0;} 1. 배열 요소로 포인터를 넣을 수 있다.2. 포인터는 주소값을 저장하는 변수 이다. #include int main(void){char * arr[3] = {"Fervent-lecture","TCP/IP","I LOVE YOU"}; printf("%d \n", &arr[0]);printf("%d \n", &arr[1]);printf("%d \n", &arr[2]); printf("%s \n", arr[0]);pr..
2017. 5. 14.