确认整型,字符型,浮点型指针变量的大小;

158 阅读1分钟

在C语言中,指针变量的大小取决于系统的寻址能力(即CPU的位数),而不是指向的数据类型(如int、char、float等)

  1. 指针变量的大小规则

32位系统:指针通常占 4字节(32位寻址空间,最大支持4GB内存)。 64位系统:指针通常占 8字节(64位寻址空间,理论支持16EB内存)。

无论指针指向何种类型(int*、char*、float*等),其大小相同,因为指针存储的是内存地址,而地址的长度由系统架构决定。

#include <stdio.h>

int main() {

    //若在32位系统下为4字节  在64位系统下为8字节
    printf("整型指针大小: %zu 字节\n", sizeof(int*)); //4 字节   //8字节

    printf("字符型指针大小: %zu 字节\n", sizeof(char*));//4 字节   //8字节
    printf("浮点型指针大小: %zu 字节\n", sizeof(float*));//4 字节   //8字节
    printf("void指针大小: %zu 字节\n", sizeof(void*));//4 字节    //8字节
    return 0;
}