c - 指向 float 或 char 的指针总是 int 吗?

标签 c pointers

如果c是float类型并且*p是指向c的指针。 * p 也应该是 float 类型。但 **p2 是指向 *p 的指针。它应该是 int 类型吗?因为所有“* ”表示“地址处的值”是 int 类型(在 **p2 的情况下) 像:

float s=10.50 ; 
float *p ;
*p=&s ;
float **p2=&(*p);

由于 *p 中存储的值是 s(整数)的地址,因此上面的行应该是 float 类型还是 int 类型?

最佳答案

您犯的一个错误是,当您有命令时,取消引用指针

float **p2=&(*p);

相反,您要写下的内容是:

float **p2=&p;

这样你就可以有一个指向 float 的指针。

关于c - 指向 float 或 char 的指针总是 int 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28399589/

相关文章:

c - 即使在释放内存时也会出现堆溢出

c - 用C将比特流写入文件

c++ - 将图像指针传递给另一个程序

c++ - 如何检查指针后面的对象是否有效或已被删除?

java - 我的程序抛出一个空指针异常,我不知道为什么。有人给我一双新鲜的眼睛吗?

c - 将共享库链接到静态库 : must the static library be compiled differently than if an application were linking it?

c - 需要 ALSA 教程

c - 为什么我不能用字符串初始化这个指针?

c - 如何修改 C 中现有的 YAML 节点?

c++ - 将指向成员函数的指针转换为 intptr_t