相关疑难解决方法(0)

指针的大小在C中是否有所不同?

可能的重复:
指针的大小可能会变化,具体取决于指向的内容?
是否有任何平台指向不同类型的指针有不同的大小?

指向c中浮点的指针大小是否可能与指向int的指针不同?尝试过之后,我得到了各种指针的相同结果.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("sizeof(int*): %i\n", sizeof(int*));
    printf("sizeof(float*): %i\n", sizeof(float*));
    printf("sizeof(void*): %i\n", sizeof(void*));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这里有哪些输出(OSX 10.6 64位)

sizeof(int*): 8
sizeof(float*): 8
sizeof(void*): 8
Run Code Online (Sandbox Code Playgroud)

我可以假设不同类型的指针具有相同的大小(当然在一个拱门上)?

c pointers

30
推荐指数
7
解决办法
5万
查看次数

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 ×2

pointers ×2