关闭

指针加减操作的单位

150人阅读 评论(0) 收藏 举报

&+数组名+整形,表示数组首地址+数组的大小偏移量

例如:

int a[5]={1,2,3,4,5};

int *ptr=(int *)(&a+1);

*(ptr -1 ) 则等于a[4]

原因是指针大加减操作单位根据指针的类型的来定的

在这里,[&+数组名]指针的类型是数组指针,加减操作的一个单位一个该数组的大小(sizeof(数组长度*数组元素类型))

理所当然,例如int* p,p的加减操作的单位就是sizeof(int)

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:34807次
    • 积分:526
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:30篇
    • 译文:0篇
    • 评论:1条
    最新评论