运行结果如图
问题如图,请大神们帮我解下惑,谢谢
1.因为s是数组,数组名代码数组的首地址。&s是存放s首地址的地址。
2.&s[0]是首元素的地址,也就是数组的首地址,跟s一样;跟s[0]不一样,s[0]是首元素,是个字符。
3.(s+5)是偏移5个单位,输出还是字符串,不是字符,因为你的字符串刚好是6个c,只是输出最后一个c,你可以添加几个字符测试看。
4.&s[5]跟第二条一样,也很第五类似,输出字符串。
"*":这是一个取内容操作符,在定义一个变量使用 * 号时,表明这是个指针型变量。
"&":表示取地址,每个变量都有一个对应的地址。
int *p=&i定义指针p指向变量i的地址,也就是p的值是变量i的地址
char s[]="cccccc"定义的是一个字符串数组,虽然在定义时没有写数组的长度,但系统会根据它的值来确定数组的长度