假如我声明一个一维数组int a[4]={0xff,0x00,0x11,0x22};
①我想通过指针的方式来修改a[0]的内容该怎么办?
②是这样么:*a[0]=0x11;(可是编译说,不能再非指针变量上放置*)
可參考這篇
1.
int x=0x11; *a= x;
int i; for(i=0;i<4;i++) *(a+i)=i;
但要注意51 int型別才是2個byte,其他32位元MCU是4個byte
重新定义一个指针变量,将a[0]的地址赋给它,
int a[4]={0xff,0x00,0x11,0x22}; int *p=&a[0]; *p=1; printf("%d",a[0]);
int a[4]={0xff,0x00,0x11,0x22}; *a=1;//和*(a+0)相同,指向数组的第一个元素。 printf("%d",a[0]);
順便給您C51 Compiler的Data type
這都很基本喔,要掌握