int a;
定义一个变量叫a,类型为int型变量,也就是说在这段地址空间内(2或者4byte)存放的0或1会被按照int类型解释
a=100;
a为int类型变量,100为int类型常量,所以100可以赋值给a
a被赋值后,a这个变量的地址空间里存放了'00000000 00000000 00000000 1100100',被解释为数值十进制的10
int *a;
或者写为
int* a;定义一个变量叫a,类型为int*型变量,,也就是说在这段地址空间内(2或者4byte)存放的0或1会被按照int*类型解释
a=100;
a为int*类型变量,100为int类型常量,所以100不可以赋值给a
假如a变量的地址空间里存放了'00000000 00000000 00000000 1100100',会被解释为"地址100"
c语言不可以给指针变量直接赋地址,所以只能把变量的地址赋给指针变量(基类型要相同)
如,int *a,b=100;
// a的基类型与b相同
a=b;
// 100是变量b的值,b为int类型,a为int*类型,所以b不能赋值给a
a=&b;
// &b是变量b的地址,&b为int*类型,a为int*类型,所以&b能赋值给a