指针的基本运算(指针基本操作总结-指针与整数相加)

C中可以使用 运算符将指针与整数相加。整数与指针所指向类型(字节为单位)的大小相乘,再将结果与初始地址相加

例如:

int arr[5];//声明整型数组

int *ptr1;//声明整型指针

ptr1 = arr;//将arr数组首地址赋值给ptr1

ptr1 3;//相当于将3*4(int类型4个字节)=12,再将12与ptr1指向地址相加。具体看以下示例:

#include<stdio.h> int main(void){ int arr[5] = {100, 200, 300, 400, 500}; int *ptr1; ptr1 = &arr[0]; printf("ptr1 = %p\n", ptr1); printf("ptr1 3 = %p\n", ptr1 3); printf(" &arr[3] = %p\n", &arr[3]); return 0; }

该例中:

ptr1是数组arr的首地址

ptr1 3获取的是arr数组第4个元素的地址

&arr[3]是arr数组第4个元素的地址

看看输出结果

ptr1 = 0000008ebc1ffc60

ptr1 3 = 0000008ebc1ffc6c

&arr[3] = 0000008ebc1ffc6c

ptr1 的值是0000008ebc1ffc60,ptr1 3的值是0000008ebc1ffc6c,指针采用的是十六进制表示,十六进制0与十六进制c相差12,ptr1 3中需要将整数3乘以4(int类型占4个字节),结果为12。

总结图示

指针的基本运算(指针基本操作总结-指针与整数相加)(1)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页