为什么80%的码农都做不了架构师?>>>
数组名可以作为数组的首地址,但是以下操作却产生编译错误:
#include <stdio.h>int main(void){int arr[] = {1,2,3,4};for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++,arr++){printf("%d ",*arr);}return 0;}
虽然说数组名可以作为数组的首地址,但是只能指向首地址,不能对首地址执行arr++操作;
而将首地址赋给指针变量,即可执行++操作
#include <stdio.h>int main(void){int arr[] = {1,2,3,4};int *p = arr;for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++,p++){printf("%d ",*p);}return 0;}