char* p = “abc”; 为何打印p会输出abc,p明明是个指针。编译器内部做了什么工作吗

2020-07-24 科技 89阅读
这个不是表示相等。这个叫做赋值,等号又叫做赋值运算符,判断相等的是用两个等号,关系运算符==。
接下来给你解释这句话,这条语句首先声明了一个字符型的指针变量,指针是用来存储地址的,那么右边则是一个字符串常量,字符串常量就是一个地址,表现形式就是这个字符串的首地址,用一个字符型的指针指向一个首地址,那么通过这个指针就可以访问整个字符串了。不管是变量还是常量,在内存中都有对应的存储空间,这句话就是用一个字符型的指针存储了一个字符串的首地址。还不懂可以追问
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com