(이건c언어만 되고 cpp은 안된다.)
char *names[3]={"James","KIM",,...}
names[0]="James";
names[1]="KIm";
names[2]="choi";
이런식으로 배열을 통해서 여러 개의 문자열을 저장하고 관리하는 법.
char *name01="James";
names[0]=name01;
이렇게 해놓으면 name01과 배열 names[0]에는 오직 주솟값만이 들어있어서,
그 주솟값에 써있는 내용이 달라지거나, 변수name01에 저장된 주솟값이 달라지거나, names[0]에 저장된 주솟값이 달라지거나 하면 다른 문자열이 출력되게 된다.
char *name01="Kim;
이런식으로 문자열을 저장하면, (1). 메모리에 문자열을 쓰고, (2). 시작 주소값을 가져와서 변수에 저장하는 것 같다.
EX)
char* name01 = "James";
char* name02 = name01;
name02 = "Kim";
(1) char * name01="Jaems";에 의해, 메모리에 James가 쓰이고, 그 첫번째 주솟값 0010이 name01에 저장된다.
(2) char* name02=name01에 의해, name02에도 0010이 저장된다.
(3) name02="Kim";에 의해, 메모리의 빈 공간에 Kim이 쓰이고, 그 첫번째 주솟값 0080이 name02에 저장된다.
>(1)에서 name01의 값은 0010이고, (2)에서 name02의 값은 0010이 되고, (3)에서 name02의 값은 0080이 된다.
'C언어' 카테고리의 다른 글
[11-1] 포인터와 배열 (0) | 2022.08.06 |
---|