C/C++数组和指针的区别

本文探讨了数组声明后的不可变性,强调了数组名作为指针的区别。重点讲述了指针作为左值的特性,并比较了sizeof运算符在数组和指针上的应用。同时,列出了信息技术领域的重要关键词和标签,帮助读者深入理解相关概念。
摘要由CSDN通过智能技术生成

数组一旦声明,就不能再给它赋值,但可以给指针赋值

首先要明白数组名是什么,它是一个指针,类型为所定义的数组的类型,而这个指针与普通定义的指针的最大区别就是它是指针,意思就是它的值不能被改变,所以不能作为左值被赋值

int a[3] = {1,2,3};
int b[3];
int* c;
b = a;		// 数组名不能作为左值
c = a;		// 指针可以作为左值

用 sizeof 运算符可以计算数组变量的数组大小,但指针指向数组时,只能计算出指针本身大小

int a[3]={2,3,4};
int* b = a;
cout<<sizeof(a)<<endl;			// 12
cout<<sizeof(b)<<endl;			// 8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值