p存储的应该是字符串第一个字符的地址,为什么
cout<
这里就涉及字符串得概念了啊,c语言中字符串得定义就是从一个特定得地址开始,直到遇到特定的字符串终结符'\0'结束,是一个字符串。
可以结合数组理解,也是一个连续内存,从开始地址存储,特定内存存数据。
所以,这里字符串的输出就是以首地址开始,依次输出每个字符,直到遇到'\0'结束。
===》最底层都是0和1字符,我们是制定了特定的规则吧这些字符输出成我们想要的int,字符,字符串类型,根据assii码表做转换输出的。
C里面所有的变量都是用指针作为入口进行内存访问的,你可以把char理解为1字节大小的内存,1个字符占用的内存就是一个字节,计算机要查看字符串就要遍历字符串的这块内存,char就是用来做“以1字节为单位来存储的数据”的入口,所以计算机可以用char来访问字符串的内存,当然你用别的类型访问也是可以的,C是不会报错的,只是解析的方式不同,用其他类型访问解析出来就不是字符串了,人看不懂,但是对于计算机来说,是同样的数据。