보 명 명 료들
1. 문 ¶
.
1.
1.
~cpp int a = 1; int b = 2; int* c; int* d; c = &a; d = &a; b = 4; a = 3; *c + a + *d = ?
2.1. Swap ¶
변.
를 면 .
를 면 .
~cpp #include <stdio.h> void Swap(int* aX, int* aY); int main() { int x = 1; int y = 2; printf("x = %d\ny = %d\n 변 .\n", x, y); Swap(&x, &y); printf("x = %d\ny = %d\n", x, y); system("PAUSE"); return 0; } void Swap(int* aX, int* aY){ int temp; temp = *aX; *aX = *aY; *aY = temp; }
~cpp #include <stdio.h> void Swap(int aX, int aY); int main() { int x = 1; int y = 2; printf("x = %d\ny = %d\n 변 .\n", x, y); Swap(x, y); printf("x = %d\ny = %d\n", x, y); system("PAUSE"); return 0; } void Swap(int aX, int aY){ int temp; temp = aX; aX = aY; aY = temp; }
2.2. 배 ¶
배 배 맨(array0) 낸.
int array5 = {1,2,3,4,5} arrayi 는 *(array+i).
int array5 = {1,2,3,4,5} arrayi 는 *(array+i).
~cpp #include <stdio.h> void ArrayOutput(int* aArray, int aSize); int main() { int array[] = {1, 2, 3, 4, 5}; printf("배 .\n"); ArrayOutput(array, sizeof(array)/sizeof(int)); int array2 = *(array+2); printf("\narray[2] %d\n", array2); system("pause"); return 0; } void ArrayOutput(int* aArray, int aSize){ int i; for (i=0; i<aSize; i++){ printf("array[%d] = %d\n", i, aArray[i]); } }
2.3. ¶
~cpp main(){ int a; int *pb, **pc; a=10; pb=&a; pc=&pb; printf("\n\n\n\tint a=10, *pb=&a, **pc=&pb\n\n"); printf("\t\t&pc=%d\tpc=%d\t*pc=%d\t**pc=%d\n", &pc, pc, *pc, **pc); printf("\t\t&pb=%d\tpb=%d\t*pb=%d\n", &pb, pb, *pb); printf("\t\t&a=%d\ta=%d\n\n\n\n", &a, a); printf("\t\ta=%d\t\t*pb=%d\t\t**pc=%d\n", a, *pb, **pc); printf("\t\t&a=%d\tpb=%d\t*pc=%d\n", &a, pb, *pc); printf("\t\t&pb=%d\tpc=%d\n\n\n\n", &pb, pc); }
~cpp int a=10, *pb=&a, **pc=&pb &a=2293620 a=10 &pb=2293616 pb=2293620 *pb=10 // pb a . &pc=2293612 pc=2293616 *pc=2293620 **pc=10 // pc *pb변 . 리 *pc는 pb 낸. **pc는 *pb(==a) 낸. a=10 *pb=10 **pc=10 &a=2293620 pb=2293620 *pc=2293620 &pb=2293616 pc=2293616 pc를 (변) . &(변) -> 변1 를 . (변) -> 변 . 붙 (변) . (변)만 들. (pc = &pb) 내는 리는 () . **pc **pc &pc **pc pc 뿐. 는 변 는 메모리 ( ) 동 는 면 . pc == *(&pc) *pc == **(&pc)