C中如何将一个地址值赋给一个指针变量

2024-12-21 21:16:36
推荐回答(5个)
回答1:

首先你要看你已知的地址是什么类型变量的地址,然后你就定义一个和前面基类型对应的指针变量,
比如
int a;
int *p; p指向储存整形数据的空间。
p=&a;
保证p与&a为同一类型。
如果不同的话,就要进行强制转换成相同类型;常见例子为malloc函数。解释如下所示:
由于malloc生成的地址为void类型,所以将malloc生成的地址要进行强制类型转换,转换成跟p相同的类型即可,比如 int *p;
p=(int *)malloc(sizeof(int));

回答2:

指针变量不能这样赋值
给你个例子
main()
{ int a;
int *p;
p=&a;
return 0;
}
&是取地址的意思&a就是变量a的地址
或者对0x12ff7c进行强制类型转换
void main()
{
char *p=(char*)0x12ff7c;
}
但是这样用一定要非常小心,弄不好程序在运行中会出现错误

回答3:

,这不可把它强制类型转换成(struct
book
*),则fscanf(fp1,"不需要再对i取地址了。
如果i是一个指针,&i);%d",如果是一个变量i是一个变量还是一个指针

回答4:

指针变量 合法的赋值 只有地址值。
如果填两个的话
就是地址值和空值 也就是NULL

很多人说地址值和变量值, 后者 是不对的。

回答5:

其实当指针赋NULL的时候就是把地址赋给变量了,地址不过是一个数字。