c/c++中指针与字符数组,指针与数组,数组指针与指针数组之间的关系。

 1,指针与字符数组的关系 

char a[ ]="I love C++";

char *a="I love C++";

a[ ]是一个数组,在内存中会分配9个字节的地址,我们可以通过sizeof(a)知道。

数组内容是可以改变的例如:a[ 0]='s';然后运行输出的时候 cout<<a<<endl; 得到s love c++;

而char *a就不同,它是一个字符指针,a是一个指针变量,存储的是字符串"I love C++"的首地址。

可能你会说这跟数组的a是一个意思,其实这涉及到指针的作用,以后会明白的。

既然a是地址,为什么我们使用cout<<a<<endl;时输出的不是地址,而是字符串了。


这时因为当cout是其自动将char*型指针指向的内存地址中的内容,所以不输出地址而输出字符串,解决的办法是:我们可以添加(void*)或者(int*)等只要不是char*型就行(见程序)。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值