C++中关于指针的使用问题,同样是数组,一个是整型,一个是字符型,初始化都是指向数组首地址。

从图上可以看到,输出的时候整形须使用循环才能输出整个数组元素,而且是用*p,但是字符数组不需要使用循环,而且输出的时候用p,但是p代表的是字符数组初始化的首地址,想问的有两点,1.输出时,字符型数据默认从初始化位置输出到‘\0’?如果我希望输出到指定位置呢?2.字符型数据输出为何用地址p代替*p,按理说p代表地址,*p才是内容才对?请尽可能详细解说一下,分不多谢谢了。

1、是的,像这样的使用情况 。

2、*p 是内容,但却是char类型的。。。。。。。这样的情况,像是C++的约定,就是代表字符串。。。。。。。。追问

2.但是输出却是用p来输出整个字符串的,明明p是地址啊,如果是int型的输出p就是类似XX0XX这种的。字符型如果p就是字符串了,那么*p是啥?我试了一下输出*p就是单个字符I。如果这样的话那就没办法输出字符型数据的地址了?

温馨提示:答案为网友推荐,仅供参考
相似回答