指针的基本运算(指针基本操作总结-指针与整数相加)
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。
总结图示
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com