永发信息网

在c语言中整形变量的指针能否赋值给整形变量?

答案:4  悬赏:70  手机版
解决时间 2021-04-06 11:30
  • 提问者网友:了了无期
  • 2021-04-05 11:04
在c语言中整形变量的指针能否赋值给整形变量?
最佳答案
  • 五星知识达人网友:洎扰庸人
  • 2021-04-05 11:37
1、可以。有的编译器会有警告,有的会报错。但强制转换后是可以的,指针变量本身就是内存的地址。
2、例如:
int n =99;
int *p1 = &n;
int m = (int)p1;
int *p2 = (int*)m;
这时p2就和p1是一样的,就是需要强制转换
全部回答
  • 1楼网友:第四晚心情
  • 2021-04-05 15:04
可以啦,指4字节,变量4字节对程序来说是一样的,唯一区别是看你咋用
  • 2楼网友:笑迎怀羞
  • 2021-04-05 14:09
我印象中可以赋值,但是可能会不是完整的指针地址值,一般需要强制转换下,指针一般是long型的32位,int是16位的。
  • 3楼网友:执傲
  • 2021-04-05 12:40

打个酱油
这个是传值操作,因此无法实现形参向实参的传递
无论什么类型的指针变量都是占四个字节的,其值是一个占四个字节的数据,因此使用四个字节的变量就可以对其值进行存储,但是在C++中一般会采用long通过强制转换的方式来存储指针的值。将指针值赋值给整型变量可能由于编译器的不同而存在风险。追问但由于函数调用的单向传递性,不能够实现数值的交换!无法实现交换数值的初衷,所以光传指针的值是有问题的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯