본문 바로가기

전체 글547

Recent condition Quetions and my thoughts about it1. how to study2. What are you doing now3. how to get knowledge4. Is your relationship with your girlfriend good?5. Why am I sensitive recently? 1. STUDYI realized that I cannot read books carefully and that I cannot organize it in my head. I think interest is linked to cocentration, and comprehension is linked to ability to organize. Now that I am clear what I a.. 2017. 5. 18.
[c++] Reference, call #include using namespace std; void SwapByRef2(int &ref1, int &ref2){int temp = ref1;ref1 = ref2;ref2 = temp;} int main(void){int val1 = 10;int val2 = 20; SwapByRef2(val1, val2);cout 2017. 5. 14.
[c++] RefPtr #include using namespace std; int main(void){int num = 12;int *ptr = #int **dptr = &ptr; int &ref = num;int *(&pref) = ptr;int **(&dpref) = dptr; cout 2017. 5. 14.
[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] Call By Value, Reference #include void swap(int a, int b);int main(void){int val1 = 10;int val2 = 20; swap(val1, val2);printf("val1: %d\n", val1);printf("val2: %d\n", val2);return 0;} void swap(int a, int b){int temp = a;a = b;b = temp;printf("a : %d\n", a);printf("b : %d\n", b);} 1. 단순하게 값만 복사하고 연결이 끊어지는 것을 의미한다. Reference 와 차이를 설명하기 위해2. Swap 함수에 대한 이해3. 이것 몇 번 째 작성인지는 모르겠다. 이제 마지막. #include void adder(int* pVal); int.. 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.
[c] String Pointer Array #include int main(void){char str1[5] = "abcd";char *str2 = "ABCD"; printf("%s \n", str1);printf("%s \n", str2); str1[0] = 'x';//str2[1] = 'x'; printf("%s \n", str1);printf("%s \n", str2);return 0;} 1. 어레이와 포인터로 문자열을 저장하고 변경하는 방법2. 어레이 문자열의 경우 변수이기에 변경가능하나, 포인터 문자열의 경우 한가지 요소를 변경하는 것은 불가능하다. 2017. 5. 14.
[c] Pointer calculation #include int main(void){int* ptr1 = 0;char* ptr2 = 0;double* ptr3 = 0; printf("%d, %d, %d \n", ptr1++, ptr2++, ptr3++);printf("%d, %d ,%d\n", ptr1, ptr2, ptr3);return 0;} 1. 포인터 연산에서 증가 감소는 포인터 타입에 따라 변한다... 신기하네... #include int main(void){int arr[5] = { 1,2,3,4,5 }; int* pArr = arr;printf("%d\n", *pArr);printf("%d\n", *(++pArr));printf("%d\n", *(++pArr)); printf("%d\n", *(pArr + 1));printf("%d\.. 2017. 5. 14.
[c] Pointer & Array #include int main(void){int a[5] = { 0,1,2,3,4 };printf("%d, %d\n", a[0], a[1]);printf("%d, %d\n", &a[0], &a[1]);printf("Array name: %d\n", a);return 0;} * a 라는 어레이를 선언하고 초기화 할때 머리속에서 메모리 구간 만들기 총 4열을 만든다. 1열은 이름, 2열은 메모리 주소, 3열은 메모리 블럭 갯수, 4열은 값을 그린다.* 배열의 이름은 첫 번째 요소의 주소 값을 나타낸다.* a 라는 단어를 나타내려면 어떻게 해야하지 방법이 없나? #include int main(void){int a[5] = { 0,1,2,3,4 };int *ptr; ptr = a;printf("%d %d %.. 2017. 5. 14.