728x90
포인터와 배열의 관계
배열의 이름 = 배열의 시작 주소 값
배열의 이름은 상수 형태의 포인터이다. 그래서 '포인터 상수'라고 부르기도 함.
그렇기에 * 연산이 가능함.
포인터 연산
int * ptr = 0x0010; 에서 ptr1+1을 하면 정수이므로 sizeof(int)의 크기만큼 값이 증가한다.
이를 *연산자의 활용하면 *(ptr1+1)은 배열의 그 다음 값을 알 수 있는 것이다.
결론: arr[i] == *(arr+i)
상수 형태의 문자열을 가리키는 포인터
char str1[] = "My string"; 은 변수 형태의 문자열이다.
char* str2 = "Your String"; 은 내용을 변경할 수 없으므로 상수 형태의 문자열이다.
포인터 배열
주소 값의 저장이 가능한 배열을 포인터 배열이라고 함.
문자열을 저장하는 포인터 배열
큰따옴표로 묶여서 표현되는 문자열은 그 형태에 상관없이 메모리 공간에 저장된 후 그 주소 값이 반환된다.
출처: 열혈 C프로그래밍
'C언어 > 간단 개념 정리' 카테고리의 다른 글
우선순위 큐 (0) | 2022.08.31 |
---|---|
포인터와 함수(+const 선언) (1) | 2021.07.09 |
포인터 맛보기 (1) | 2021.07.08 |
문자열(+ null문자) (1) | 2021.07.03 |
재귀함수 (0) | 2021.07.03 |