C之指针的加法
#include<stdio.h>
#include<stdlib.h>
main() {
//char arr [] = {'H','e','l','l','o'};
int arr [] = {1,2,3,4,5};
//数组的名字就是一个内存地址值
printf("arr= %#x \n",arr);
//数组的首元素的地址就是数组的内存地址值
printf("arr[0]= %#x \n",&arr[0]);
//数组里的元素在内存中是一块连续的内存空间
int i;
for(i=0;i<5;i++){
printf("arr[%d]= %#x \n",i,&arr[i]);
}
int* p = &arr;
printf("%d \n",*(p+0));
printf("%d \n",*(p+1));
printf("%d \n",*(p+2));
printf("%d \n",*(p+3));
printf("%d \n",*(p+4));
//指针所指向的内存地址向后偏移一个单位
//一个单位的长度取决于数组里所存放的数据类型的类型
/**char* p = &arr;
printf("%c \n",*(p+0));
printf("%c \n",*(p+1));
printf("%c \n",*(p+2));
printf("%c \n",*(p+3));
printf("%c \n",*(p+4));*/
/**int ii;
for(ii = 0 ;ii<5;ii++){
//printf("arr[%d]=%c \n",ii,arr[ii]);
} */
}
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!
浙公网安备 33010602011771号