본문 바로가기

C_CPP_Pointers

(29)
pass by value, pass by reference, pass by pointer #include // https://makershackers.tistory.com/368 void Function_A(int A) // Pass by Value { A = A + 1; printf(" A : %i\n", A); } //(2) void Function_B(int &B) // Pass by Reference { B = B + 1; printf(" B : %i\n", B); } //(4) void Function_C(int* C) // Pass by Pointer { *C = *C + 1; printf(" *C : %i\n", *C); //(10) 3, (21) 5 printf(" C : %p\n", C); } //(11) 포인터 '대리(하는)' 주소(PTR_c), (22) 포인터 '대리(하는..
Pointer(포인터, PTR, 방대리) vs. Reference(참조자) #include int main(void) { // 기초 만들기 int *PTR; // int* PTR, int (*PTR) int a = 1; int b = 2; int &A = a; // int (&A) = a; // 사용하기 PTR = &a; PTR = &b; } #include // https://topmaker.tistory.com/184, https://makershackers.tistory.com/367 int main(void) { // 기초 만들기 int *PTR; // int* PTR, int (*PTR) printf(" PTR : %p\n", PTR); // 벌레, 오류 int a = 1; int b = 2; int& A = a; // int (&A) = a; int& B = b; /..
다중 포인터 #include int main(void) { int a = 1; int (*b) = &a; int (**c) = &b; int (***d) = &c; printf(" &a : %p\n", &a); printf(" a : %d\n", a); printf(" *a : n/a\n"); printf(" &b : %p\n", &b); printf(" b : %p\n", b); printf(" *b{1} : %d\n", *b); printf(" &c : %p\n", &c); printf(" c : %p\n", c); printf(" *c(1) : %p\n", *c); printf(" **c(2) : %d\n", **c); printf(" &d : %p\n", &d); printf(" d : %p\n", d); p..
포인터, 경우의 수 1번 사례 #include int main(void) { int a = 1; int b = a; printf("a의 값은? %d\n", a); printf("&a의 값은? %p\n", &a); printf("b의 값은? %d\n", b); printf("&b의 값은? %p\n", &b); } #include int Function(int a) { printf("Function 내부 a의 값 : %d\n", a); printf("Function 내부 &a의 값 : %p\n", &a); return a; } int main(void) { int a = 1; int Result_of_the_Function; Result_of_the_Function = Function(a); printf("a의 값은? %d\n..
scanf, argv[] #include int main(void) { int a, b; printf("첫 번째 값을 입력하세요 : "); scanf("%d", &a); printf("두 번째 값을 입력하세요 : "); scanf("%d", &b); printf("입력하신 값의 합은 %d입니다.\n", a + b); return 0; } #include #include int main(int argc, char* argv[]) // https://youtu.be/aP1ijjeZc24 { int i, sum = 0; printf("argc = %d\n", argc); printf("Let's see what is in argv[]\n"); if (argc > 1) { for (i = 1; i < argc; i++) { printf..
배열 #include #include int main(void) { int arr[5] = { 0x12, 0x34, 0x56, 0x78, 0x90 }; int* ptr = arr; printf(" *ptr은 0x%x\n *arr은 0x%x\n arr[0]은 0x%x\n", *ptr, *arr, arr[0]); // %x: 16진수, https://topmaker.tistory.com/203 printf("%d, %d\n", (int)sizeof(arr), (int)sizeof(ptr)); return 0; } #include #include int main() { int *ptr = (int*) malloc(sizeof(int) * 10); int arr[10]; ptr[0] = 1; arr[0] = 2; p..
포인터, 경우의 수 (종합사례) pointer와 reference를 사용한 경우의 수를 만들어봤습니다. 1번 사례 #include int Function(int A, int& B, int(*C), int(*(&D))) { A = 5; printf("Function 내부 A의 값 : %d\n", A); printf("Function 내부 &A의 값 : %p\n", &A); B = 6; *C = 7; *D = 8; int Result_Inside_the_Funtion; Result_Inside_the_Funtion = A + B + *C + *D; return Result_Inside_the_Funtion; } int main(void) { int a = 1; int b = 2; int c = 3; int d = 4; int Result_..
22 ⌨️ (0:00:00​) Introduction to pointers in C/C++ ⌨️ (0:10:29​) Working with pointers ⌨️ (0:22:05​) Pointer types, pointer arithmetic, void pointers ⌨️ (0:33:01​) Pointers to Pointers in C/C++ ⌨️ (0:42:21​) Pointers as function arguments - call by reference ⌨️ (0:56:36​) Pointers and arrays ⌨️ (1:05:18​) Arrays as function arguments ⌨️ (1:18:10​) Character arrays and pointers - part 1 ⌨️ (1:32:49​..