/*指针初认识*/
#include<stdio.h>
int main(void)
{
int array[4] = { 0,1,2,3 };
int* arr;
arr = &array;
//&表示取array占用内存的首地址,*在声明中表示定义的变量为指针,在printf()函数中表示取地址中的值
printf("%d\n\n", &array[0]);
printf("%d\n\n", array);
printf("%d\n\n", arr);
//由输出结果可知arr等效于&array等效于&array[0]
//即,数组的指针 等效于 数组的地址 等效于 数组占用空间的首地址
for (int i = 0; i < 4; i++)
{
printf("%d\n", arr + i);//数组第i个元素的地址
//arr + i = arr的地址 + 所指向变量的数据类型占用的字节数 × i
//arr的地址相当于array[0]的地址,因此arr+i的地址相当于array[i]的地址;
printf("%d\n", *(arr + i));//由array=&array[0]可知,*(arr+i)相当于在地址arr+i里取值
printf("\n");
}
}
指针初认识
最新推荐文章于 2023-12-16 23:49:10 发布