반응형
//************************************************ // 포인터 정복 !! //************************************************ // 1. 참조와 역참조의 개념을 정확히 이해하자 !! // 2. 연산자 우선순위에 대해 정확히 이해하자 !! // 1) 괄호의 변경 --> 우선 순위 개념 !! // 2) *의 갯수 : 참조와 역참조의 개념 !! // p[0]->a; // 3. 무엇의 주소인가 ?? // - 가르키는것이 무엇인가? !! // int * --> 4byte // char * --> 1byte //************************************************ // 배열과 포인터 !! //************************************************ // 배열 --> 연속된 메모리공간에 같은 타입의 데이타들의 집합 !! #include#include void main() { //int p[3]; // [ ][ ][ ] // 쓰레기 값때문에 초기화 불가능하다 !! //printf("%d %d %d\n" , p[0] , p[1], p[2]); //printf("%d %d %d\n" , &p[0] , &p[1], &p[2]); // 인덱스를 통한 젒근 // p[0] = 10; // printf("%d %d %d\n" , p[0] , p[1], p[2]); /* int p[3] = {0}; //1) int p1[] = {0,1,2}; //배열의 크기를 컴파일러에 할당을 위임 !! p[0] = 0; //2) p[1] = 0; p[2] = 0; //3) for(int i = 0; i<3; i++ ) p[i] = 0; //4) memset(p,0,3);*/ //다차원 배열 !! /*int p[3][3] ={ {0,1,2}, {0,1,2}, {0,1,2}};*/ //[10][20][30] // 배열의 배열의 의미한다 !! /* int p[20][50][18][14][4]; // [2][1][3][3] // [2][1][3][3] struct car { int seat[14][4]; } struct KTX { car carlist[10] } struct S_to_p { KTX TheKtx[50]; } S_to_p[0].carlist[7].seat[7][3]; */ // [2][1][3][3] // [2][1][3][3] // [2][1][3][3] // [2][1][3][3] // [2][1][3][3] // [2][1][3][3] // 배열과 포인터의 관계 !! // 1차원 : int Array[3] = {0,1,2}; int * p; p = Array; // 배열의 시작 위치의 주소값!! printf("Array = %d\n", Array); printf("p = %d\n" , p); printf("p = %d\n" , *p); printf("p[0] = %d\n" , p[0]); // * == [] == }
'자료구조' 카테고리의 다른 글
[자료구조] C언어 동적배열 사용 (0) | 2014.11.18 |
---|---|
[자료구조] C 언어 동적 배열 (0) | 2014.11.18 |
[자료구조] C 언어 정적배열 (0) | 2014.11.18 |
[자료구조] 포인터 연산과 다차원 배열 (0) | 2014.11.18 |
[자료구조] 포인터 (0) | 2014.11.18 |