-
반응형
배열을 기준으로 포인터와 합체하기
// char * 형 변수 100개가 필요한 경우 char *p1, *p2, ... , *p99, *p100; char *p[100]; /* char *p1, *p2, ... , *p99, *p100; 라고 선언한것과 같음 포인터가 100개 선언된 것이므로 p 배열의 크기는 400바이트 개별 포인터를 사용하려면 p[0], p[1], ... ,p[100]과 같이 사용 각 포인터가 가리키는 대상의 값을 읽거나 쓰려면 *p[0] 처럼 사용*/
배열을 기준으로 포인터와 합체하기
char data1, data2, data3, data4, data5; char *p[5] = {&data1, &data2, &data3, &data4, &data5}; for (int i = 0; i<5; i++) *p[i] = 0; // data1~5까지 모두 0으로 저장
포인터를 기준으로 배열과 합체하기
char data[3][5]의 시작 주소를 char (*p)[5]; 포인터에 저장해서 포인터 p를 사용하여 data 배열의 각 요소 값을 변경하는 예제
char data[3][5]; char (*p)[5]; p = data; (*p)[1] = 3; // p가 가리키는 대상의 2번째 항목에 3을 대입 (*(p+1))[2] = 4; // p+1이 가리키는 대상의 3번째 항목에 4를 대입 (*(p+2))[4] = 5; // p+2이 가리키는 대상의 5번째 항목에 5를 대입
괄호가 많이 쓰이는 이유는 연산자 우선순위 때문이니, 너무 복잡하게 생각하지 않아도 된다.
반응형'C' 카테고리의 다른 글
프로그램과 프로세스 (0) 2022.06.08 배열을 사용하는 포인터 (0) 2022.05.24 배열과 포인터 표기법 (0) 2022.05.22