...
1차원 배열 -> *(a+1) = a[1]
2차원 배열 -> *(*(a+1)+0) = a[1][0]
3차원 배열 -> *(*(*(a+1)+0)+3) = a[1][0][3]
문자열배열 ->
char ch[10] = "language";
char * str = "language";
ch = "dictionaty"; //오류!!!!
str = "dictionaty"; //"language"문자열이 저장된 주소를 새로 갱신해서 저장하는 것이라 가능하다.
strcpy(ch, "dictionaty"); //문자열 함수로 정상 체인지
strcpy(str, "dictionaty"); //오류!!!
tip) 포인터 변수가 참조하는 값을 바꾸고 싶은 경우
숫자 : *str = 5
문자 : str = "안녕"
int main()
{
int a[3]={100,200,300};
int b[3]={400,500,600};
char c[3]="aa";
int *p[2]={a,b};
char *pp[2]={c,"bb"};//"aa"값을 저장한 char형 배열 c와 "bb"를 저장한 주소값 저장
printf("%d\n",p[0]+1); //a[1]의 주솟값
printf("%d\n",*(p[0]+1)); // *(a+1) = a[1] = 200
printf("%d\n",*(p[0])+1); // a[0] + 1 = 100 + 1 = 101
//printf("%s\n", *pp[0]); 오류!!!!
printf("%s\n", pp[0]);
printf("%s\n", pp[1]);
}
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.