본문 바로가기
C언어

[C언어] '배열'에 '문자열'을 여러 개 저장

by yoonjunho 2022. 12. 13.

(이건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