6.30数组指针

//p是一个变量,所以会在内存中开辟空间,因此也会有地址

如何查看变量名的类型?

一维数组:int arr[6]={1,2,3,4,5,6}

arr数组名:是数组中的首元素地址//除sizeof(arr)和&arr这两种情况时arr为整个数组

&arr为整个数组变量的地址

通过对arr的加减整数实现指针进行偏移,若&arr加减整数则是对整个数组的移位,会走向下一个数组的元素

&arr[0]<---->arr+0 &arr[1]<---->arr+1

arr[i]=*&arr[i]=*arr+i

二维数组:float scores[3][3];scores[3][3]为值

scores<---->&scores[0]//二位数组首地址

&scores<---->二维变量的地址

scores[0]是数组的第一个元素地址<---->&scoers[0][0]

scores[1]是数组的第二个元素地址<---->&scores[1][0]

在 C 语言中,指针数组和数组指针是两个不同的概念。
 
指针数组是指一个数组,其元素都是指针:例如: int *ptrArray[5];  这里  ptrArray  是一个包含 5 个指向  int  类型变量的指针的数组。
 
数组指针是指向一个数组的指针:例如: int (*ptr)[5];  这里  ptr  是一个指向包含 5 个  int  类型元素的数组的指针。
 
关键的区别在于:
 
1. 定义形式不同:指针数组是“指针的数组”,数组指针是“指向数组的指针”。
2. 指向的对象不同:指针数组中的每个元素都是指针,指向不同的对象;数组指针指向的是一个完整的数组。
 
在实际使用中,需要根据具体的需求来选择使用指针数组还是数组指针。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值