请大家给我解答一个c语言的指针问题
inta=12;int*b=&a;//正确int*b=12;//错误*b=12;//正确*b=&a;//错误为什么???...
int a=12;
int *b=&a;//正确
int *b=12;//错误
*b=12;//正确
*b=&a;//错误
为什么??? 展开
int *b=&a;//正确
int *b=12;//错误
*b=12;//正确
*b=&a;//错误
为什么??? 展开
1个回答
展开全部
int a=12;
int *b=&a;//正确 ,因为b是指针,需要保存一个地址,用&变量的地址,所以正确。
int *b=12;//错误 ,因为12的数据类型是int类型,你左侧是一个 int *的类型,类型不匹配,所以错误,可以写成 int *b = (int *)12 ; 但是程序运行会出错,茄搏因为液纳仔12这个地址,一般被操作系统设置为系统才能使用。
*b=12;//正确 ,因为指针的内容访问运算符是*,*b就相当于一个int变量,所以正确
*b=&a;//错误 ,因为*b相当于一个int变量,闹汪你使用&a获取一个变量的地址,实际上是一个int *的类型,所以类型不匹配。
int *b=&a;//正确 ,因为b是指针,需要保存一个地址,用&变量的地址,所以正确。
int *b=12;//错误 ,因为12的数据类型是int类型,你左侧是一个 int *的类型,类型不匹配,所以错误,可以写成 int *b = (int *)12 ; 但是程序运行会出错,茄搏因为液纳仔12这个地址,一般被操作系统设置为系统才能使用。
*b=12;//正确 ,因为指针的内容访问运算符是*,*b就相当于一个int变量,所以正确
*b=&a;//错误 ,因为*b相当于一个int变量,闹汪你使用&a获取一个变量的地址,实际上是一个int *的类型,所以类型不匹配。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询