2025-03-06 17:37:07 +08:00

30 lines
644 B
C

#include <stdio.h>
/*
指针与数组的关系
指针与一维数组
*/
int main(){
int nums[] = {1, 2, 3, 4, 5};
//数组在内存中是连续存储 指针变量运算后会得到下一个/前一个
//nums是一个指针 指向自己这个数组的第一个元素
//nums[下标] <=> *(nums+下标)
//C语言中只有 *(nums+下标)写法
//编译器会将 nums[下标]翻译成上面这种
int *p;
p = nums;//nums、p都可以指向该数组的第一个元素
//p可以进行赋值运算 但是 nums不行 因为他只是一个虚拟的指针 只能使用*
printf("%d\n", *nums);
printf("%d\n", *(nums+1));
printf("%d\n", *p++);//1
printf("%d\n", *p++);//2
printf("%d\n", *p++);//3
printf("%d\n", *p++);//4
printf("%d\n", *p);//5
return 0;
}