#include /* 指针与数组的关系 指针与一维数组 */ 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; }