본문 바로가기

코오딩/_배운거.

이중포인터 개념정리. 미완.

반응형

이중포인터 개념정리. 내가 이해한 부분까지만.

 

EX)
"첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000)"
" 주어지는 문자열의 길이는 50을 넘지 않는다."

가 조건으로 주어지면 문자열이 char arr[20000][51] 이어야 함.

20000개 들어오니까 이만개. 문자열은 문자열이기에. 뒤에 널문자 한칸 남겨줘야 함.

*char는 초기화 안해줘도 괜찮음. because 덮어씌우니까.

모든 배열은 포인터임.
이중배열은 배열을 모아둔 배열임. 포인터를 모아둔 포인터임.

1. arr[0][0]같은 원소는 다 char형 "변수"다

2. arr[0], arr[1], ... , arr[19999]는 모두 배열이다. 따라서 char형 포인터와 비슷하다. (주소가 있다)

3. 동시에,  arr[0][0], arr[1][0], ... , arr[19999][0000] 들은 arr배열의 원소다.

4. 따라서, arr은 char형 배열을 포함하는 배열이다.

*(arr) => arr[0] 이기에.

*(*(arr)) = *(arr[0]) => arr[0][0] 임.

 이름 ;     A      /           /         /

 주소 ;     arr      /    arr 0   /    arr0 0  /

인경우에 arr = B. B는 arr0이 주소이므로. arr[0] = A.

그냥 각자 주소를 표지판으로 들고있고. B를 부르면 B가 주소를 읊는다고 생각을 했음.

반응형