小编Roh*_*t O的帖子

float指针和int指针地址有什么区别?

我试着运行这段代码,

int *p;
float q;
q = 6.6;
p = &q;
Run Code Online (Sandbox Code Playgroud)

虽然它会是一个警告,但我认为&q并且p大小相同,所以p可以有一个地址q.但是当我打印&q并且p我得到不同的输出.这是我的输出

*p =  6.600000 
 q = 0.000000, p = 0x40d33333, &q = 0x7fffe2fa3c8c 
Run Code Online (Sandbox Code Playgroud)

我错过了什么?和p&q是相同的当两个指针和变量类型是一样的.

我的完整代码是

#include<stdio.h>
void main()
{   
    int *p;
    float q;
    q = 6.6;
    p = &q;
    printf("*p =  %f \n q = %f, p = %p, &q = %p \n",*p,q,p,&q);
}
Run Code Online (Sandbox Code Playgroud)

c pointers

9
推荐指数
2
解决办法
3万
查看次数

标签 统计

c ×1

pointers ×1