C语言多维数组的指针应用

一、一维数组

要谈多维数组,首先先了解下一维数组的指针应用。

int arr[10];

通过上述代码,我们定义了一个长度为10的整形数组。
int为数组的基类型,他确定了每个数组元素所占用的空间。在visual studio编译器中int占4个字节。所以arr数组总共占据了40个字节的空间。在数组定义时,数组所需要的空间就已经分配出来了。
arr是数组名。除了用来代表这个数组,他还对应着该数组第一个元素的地址,即arr[0]的地址。也就是说arr == &arr[0]的结果是true。arr还有一些细节方面的东西值得我们注意一下。虽然arr可以用作算术运算,但是arr是一个常数,也就是说你无法改变arr的值,即arr++arr--之类的操作都是无效的(简单的说,arr也是一个指针变量,它的特殊之处在于它存储的地址是无法改变的)。若要完成++类似的操作,就需要用一个指针变量,arr的值赋值给指针变量,即指针变量指向数组的第一个元素。
既然指针是一个变量,那么他的值就可以通过算术运算进行改变。

int *pos;
pos = arr;

通过上述代码,我们定义了一个指向整型数据的指针变量。并且该指针变量内存储的地址恰好是数组的首地址。通过pos + 1我们可以获得数组第二个元素的地址,也就是下标为1的数组元素的地址。pos + 1不是地址加一,而是要看指针变量的基类型,这里的是in

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值