关于c语言指针赋值的问题!
#include<stdio.h>#include<stdlib.h>main(){inta=3,b=4,*x,*y;*x=a;*y=b;printf("%d%d",*x...
#include<stdio.h>
#include<stdlib.h>
main(){
int a=3,b=4,*x,*y;
*x=a;*y=b;
printf("%d %d",*x,*y);
system("pause");
return 0;
}
为什么这样赋值运行错误?
(2)int a=3,b=4,*x,*y;
*x=&a;*y=&b;
为什么这样也是错误的而
int a=3,b=4,*x,*y,*x=&a;*y=&b;
这种是正确的! 展开
#include<stdlib.h>
main(){
int a=3,b=4,*x,*y;
*x=a;*y=b;
printf("%d %d",*x,*y);
system("pause");
return 0;
}
为什么这样赋值运行错误?
(2)int a=3,b=4,*x,*y;
*x=&a;*y=&b;
为什么这样也是错误的而
int a=3,b=4,*x,*y,*x=&a;*y=&b;
这种是正确的! 展开
11个回答
展开全部
指针变量保存的是地址:在定义的时候进行初始化:*p=&a;这是&是取a的地址保存在变量p中,
在定义之外初始化时就应该是 p=&a;注意了,在定义之外的语句,*p是代表p所指向的地址的值,
也就是一个整形变量,而你把&a得到的地址赋值给*p,这怎么会是对的呢?
在定义之外初始化时就应该是 p=&a;注意了,在定义之外的语句,*p是代表p所指向的地址的值,
也就是一个整形变量,而你把&a得到的地址赋值给*p,这怎么会是对的呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请注意:
1、int *x,*y;仅仅是声明了一个指针(没有开辟空间,指针没有初始化则指向哪里是不确定),在这种情况下对一个指针赋值是未定义的。
2、正确使用指针。在定义指针时候要不就初始化为NULL,要不就指向某个存储空间。
1、int *x,*y;仅仅是声明了一个指针(没有开辟空间,指针没有初始化则指向哪里是不确定),在这种情况下对一个指针赋值是未定义的。
2、正确使用指针。在定义指针时候要不就初始化为NULL,要不就指向某个存储空间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a=3,b=4,*x,*y;
x=&a;
y=&b;
这是正确写法 就这么定义的
调用的时候
*x=3
*y=4
x=&a;
y=&b;
这是正确写法 就这么定义的
调用的时候
*x=3
*y=4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p和s都是指针,p=s(p指向的地址就和s的相同),所以p和s是一同改变的,即一旦p的赋值发生改变,s也变;q1->next=p(q1的后驱是p,q的前继为q1),所以,p->right=q1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
申请空间 x=(int *)malloc(size of(int));
y=(int *)malloc(size of(int));
y=(int *)malloc(size of(int));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询