const int MAX = 4;
int main ()
{
const char *names[] = {
"Zara Ali",
"Hina Ali",
"Nuha Ali",
"Sara Ali",
};
int i = 0;
for ( i = 0; i < MAX; i++)
{
//printf("Value of names[%d] = %p\n", i, &*names[i] );
//printf("Value of names[%d] = %p\n", i, &names[i] );
//printf("Value of names[%d] = %p\n", i, *names[i] );
//printf("Value of names[%d] = %p\n", i, names[i] );
}
return 0;
}

c语言指针问题,请问下列四个注释里的内容分别代表什么意思?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 快乐鹦鹉 2021-09-27 15:57关注
%p是将后面的变量按十六进制的地址格式输出。
&*names[i]相当于每个字符串第一个字符的地址,相当于字符串的首地址
&names[i]是每个字符串的首地址的地址。相当于names+i
*names[i]是每个字符串第一个字符
names[i]是每个字符串首地址本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报