C++,指针与数组的区别

数组与指针的区别:能否修改

数组和指针基本等价是C和C++的优点之一,在很多情况下,可以用相同的方式使用指针名和数组名。

//可以这样
char arr_ch[20] = "abcdefghijkl";
cout << arr_ch[2] << endl;
//也可以这样
cout << *(arr_ch + 2) << endl;
//以上两种方法等价

在多数表达式中,数组和指针都表示地址,而区别是:
指针的值可以修改
而数组名是常量,不能修改

//指针可以进行这样的操作,而数组不可以
char* p_arr_ch = arr_ch;
p_arr_ch = p_arr_ch + 2;
cout << *p_arr_ch << endl;

另外一个区别:
对数组使用sizeof()得到的是数组的长度
对指针使用sizeof()得到的是指针的长度(即使指针指向的是一个数组)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值