在c语言中,char指针不仅能指向char变量,还能指向常量字符串,同时也能指向一个char数组的。
想要访问单个字符,就要通过*来进行解引用,若是要访问整个数组或字符串的话,就直接输入地址。
但是注意,再上图中b指向的内容时不可改变的,c指向的是可以改变的。
因为b指向的是个常量字符串,是不可改变的,而c指向的是个数组,是可以改变的。
程序运行到*c='a'时未报错,但是到了*b=‘w’时确保错了。
拿一道题目
请问运行结果时什么?
可以分析,在str1和str2中分别存放了两个数组,只是内容相同,但在进行判断时,str1和str2的地址仍旧不相同,所以结果应该是str1!=str2
但在str3和str4的比较中,他们都指向一个字符串常量,且这个常量是同一个,地址相同所以结果应该是str3==str4(编译器为了节省内存,通常是会指向同一个常量)。
看下结果.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)