하신 말씀을 지적하자면 char이 아니라 str[i]의 타입은 char [13]입니다. char str[][13] 의 의미는 char [13]이 [](초기화 리스트에 따라 결정됨)개만큼 있고 변수명은 str이며, 임의의 원소 str[i]의 타입은 char[13]입니다.. int array[]의 의미가 int이 []개만큼 있고 변수명은 array 이며, 임의의 원소 array[i]의 타입은 int다. 에서 int가 타입이듯, char str[][13]에서 char[13]이 str[i]의 타입입니다. char str[][13]={"Love","Safe","Tool","User"}; 이렇게 쓰면 메모리에는 'L', 'o', 'v', 'e', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' 'S', 'a', 'f', 'e', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' 'T', 'o', 'o', 'l', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' 'U', 's', 'e', 'r', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' 이렇게 적재됩니다. str은 최초 'L'의 주소를 가리키는 char [][13] 타입 변수, str[0]은 'L'의 주소, str[1]은 'S'의 주소를 가리키는 char[13]타입 변수(후략) printf("%s",...)는 인자로 들어온 해당 포인터부터 ' '을 만날때까지 화면에 출력합니다.
|