포인터를 해석하는 방법도 헷갈릴때가 많더라. 조금만 방심하면 이걸 어떻게 읽을까? 영어로 설명을 할때는 뭐라고 해야 할까는 또 다른 고민이더라 그래서 한국말을 잘 하는 사람이 영어도 잘하는 모양이다.
- int ***ptr[5]; //포인터 배열, 배열의 요소로 포인터변수를 가지게 된다. 배열의 값에 주소값이 들어간다는 것이다.
- 먼저 변수인 ptr 를 먼저 읽는다.
- 그 다음에 포인터를 읽을지 [5] 배열을 읽을지 결정을 해야한다. 이 경우에는 오른쪽을 먼저 읽고 왼쪽으로 넘어간다. 그래서 배열이 우선순위가 있기에 ptr은 인덱스가 5인 배열이다.
- 그 다음은 왼쪽에 있는 포인터를 읽어주고 데이터 타입을 붙여주면 된다.
- ptr 은 int 형 타입의 변수 인덱스가 5인 배열에 포인터에 포인터에 포인터인 변수다.
- ptr is array of 5 pointers to a pointer to pointer to int variable.
- int (*ptr)[5]; //배열 포인터, 배열에는 실제 변수값을 가지고 있고 이걸 가르치는 주소의 포인터를 의미한다. 2차원 이상의 배열에 쓴다.
- (ptr+1) == ptr[1]
반응형
'Software > Embedded system' 카테고리의 다른 글
Automotive Vehicle System: SOME/IP Protocol (0) | 2023.02.12 |
---|---|
Dangling Pointer_ChatGPT code review (0) | 2022.12.24 |
Big O complexity 되새김 (0) | 2022.10.08 |
fmt 와 Variadic function 정리 (0) | 2022.07.10 |
Sizeof()for struct and pointer with pack() 64bit system (0) | 2022.06.04 |