반응형
이중포인터 개념정리. 내가 이해한 부분까지만.
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 / B / C /
주소 ; arr / arr 0 / arr0 0 /
인경우에 arr = B. B는 arr0이 주소이므로. arr[0] = A.
그냥 각자 주소를 표지판으로 들고있고. B를 부르면 B가 주소를 읊는다고 생각을 했음.
반응형
'코오딩 > _배운거.' 카테고리의 다른 글
동적 메모리 할당_현재까지 내가 이해한 내용 (0) | 2020.03.22 |
---|---|
컴파일러 에러_꾸준히 업데이트중 (0) | 2020.03.09 |
fgets() 함수 (0) | 2020.03.06 |
문자열 정렬하기(버블소트) (0) | 2020.02.29 |
아스키코드표/ASCII TABLE 10진 16진 문자 (0) | 2020.02.18 |