일반변수 &a =주소 , a = 값
포인터 a = 주소 ,*a = 값
포인터는 *붙이면 값!!
1 2 3 4 5 6 7 8 9 | //할당 - 동적메모리 할당을 위해 사용 //1개를 받았을시 *을 사용 //1개 이상은 [] 배열을 사용 //ex1 short *a = new short; delete a;//new 하나당 한개 *빼고 short *b = new short[10]; delete[]b; | cs |
1 2 3 4 5 6 7 8 9 10 | //ex2 short *a = new short[10]; short *b; b = a;//주소 공유 for (int i = 0; i < 10; i++) { b[i] = i; printf("%d", a[i]); }printf("\n\n"); delete[]b;//해제 | cs |
ex2 주소 공유 방식 b=a;?
1 2 3 4 5 6 7 8 9 10 11 12 13 | //ex3 short *a = new short[10]; // 포인터 문법으로 for (long i = 0; i < 10; i++) { printf("%d %d\n", (a + i), *(a + i));//주소, 값 - 쓰레기값이 나옴 } //배열 문법으로 for (long i = 0; i < 10; i++) { printf("%d %d\n", &a[i], a[i]);//주소, 값 } delete[]a; | cs |
1 2 3 4 5 6 7 8 9 10 11 12 | //ex04 short ar[5] = { 0 };//배열을 모두 0으로 초기화 // 배열 문법으로 for (long i = 0; i < 5; i++) { printf("%d %d\n", &ar[i], ar[i]);//주소 값 } // 포인터 문법으로 for (long i = 0; i < 5; i++) { printf("%d %d\n", (ar + i), *(ar + i));//주소 값 } | cs |
배열문법을 쓰는게 좋다. - 배열만 쓰자.
728x90
'비트 단기 > c' 카테고리의 다른 글
함수 이어서~2 (0) | 2018.11.08 |
---|---|
11/07 함수 시작 (0) | 2018.11.08 |
복습 (0) | 2018.11.06 |
11/5 포인터 구조체 (0) | 2018.11.05 |
11/2 구조체 복습 앞부분 확실히 하기 (0) | 2018.11.05 |
댓글