关于指针打印的一维数组运用 int main(){ //指针与一维数组 //数组名就是数值的起始地址,也是第一个元素的地址,数组名就是一个常量指针 int array[]={1,2,3,4,5}; int*ptr_array=array; // ptr_array=ptr_array+1; printf("ptr_array=%p\n",ptr_array); printf("ptr_array=%p\n",&array); printf("ptr_array[0]=%p\n",&ptr_array[0]); ptr_array[2]=100; *(ptr_array+3)=200; printf("array[2]=%p\n",array[2]); printf("array[3]=%d\n",array[3]); //*(array+3),*&array[3],*(ptr_array+3),*&ptr_array[3] 代表的是array[3] printf("***====***====***====***====***====\n"); printf("*(array+3)=%d\n",*(array+3)); printf("*&array[3]=%d\n",*&array[3]); printf("*(ptr_array+3)=%p\n",*(ptr_array+3)); printf("*&ptr_array[3]=%p\n",*&ptr_array[3]); printf("*******************************************"); //array+3,&array[3].ptr_array+3,&ptr_array[3] 代表是同一个地址 printf("arry+3=%p\n",array+3); printf("&array[3]=%p\n",&array[3]); printf("ptr_array+3=%p\n",ptr_array+3); printf("&ptr_array[3]=%p\n",&ptr_array[3]); return 0; }
ptr_array=000000000022FE30
ptr_array=000000000022FE30
ptr_array[0]=000000000022FE30
array[2]=0000000000000064
array[3]=200
***====***====***====***====***====
*(array+3)=200
*&array[3]=200
*(ptr_array+3)=00000000000000C8
*&ptr_array[3]=00000000000000C8
*******************************************arry+3=000000000022FE3C
&array[3]=000000000022FE3C
ptr_array+3=000000000022FE3C
&ptr_array[3]=000000000022FE3C