<分区>
我有这个代码:
char first_word[MAX_LENGTH + 1] = "test";
printf("Word to input: %s\n", first_word);
printf("Word to input: %p\n", first_word);
它对两者都成功打印(打印字符串“test”,然后是地址)。
在我的代码中,我最终会这样做:
char *arr_of_strings[MAX_LENGTH + 1];
arr_of_strings[0] = first_word;
并且它正确地将 arr_of_strings[0]
设置为 first_word
是什么(在本例中是一个指针,因为 *arr_of_strings
是一个数组的指针,对吧?)。但是现在当我这样做的时候
printf("arr at 0 is: %s\n", arr_of_strings[0]);
它又打印了一个字符串,我也可以这样打印一个地址吗:
printf("arr at 0 is: %p\n", arr_of_strings[0]);
那么 c 什么时候将 first_word
用作字符串,什么时候将它用作指针?