当前位置:网站首页>C语言学习记录--变量基本类型和内存大小

C语言学习记录--变量基本类型和内存大小

2022-08-11 05:16:00 FussyCat

1、不同基本变量类型内存大小,按系统的编译位数32位和64位来区分,有区别的地方是类型long上,在32位编译器编译出来的是4个字节长度,而在64位编译器上编译出来的则是8个字节。
在这里插入图片描述
也有人是按LP32 ILP32 LP64 LLP64 ILP64 来分以上几个数据类型的字节长度的,可以参考:数据模型的解释参考

2、下面就实际看看以上的10种数据类型,验证表格中的字节长度是否准确。我的PC是64位的,有32位的朋友可以直接看看32位上的表现。
好吧,朋友们,原谅我不小心写成C++了,该死的Visual Studio,后面再补成C了,这个不影响字节长度计算的。

#include <iostream>
using namespace std;

int main()
{
    
    char char_a = 'a';
    char str[] = "\\\\";
    char str1[] = "hello";
    short short_i = 1;
    int int_i = 1;
    unsigned uint_i = 1;
    long long_i = 1;
    long long llong_i = 1;
    unsigned long ulong_i = 1;
    float float_i = 1.0;
    double double_i = 1.0;
    char getstr[] = {
     0 };
 
    cout << "Hello My C!\r\n";
    cout << "char_a size:" << sizeof(char_a) << endl;
    cout << "short_i size:" << sizeof(short_i) << ", int_i size:" << sizeof(int_i) << ", uint_i size:" << sizeof(uint_i) << endl;
    cout << "long_i size:" << sizeof(long_i) << ", llong_i size:" << sizeof(llong_i) << ", ulong_i size:" << sizeof(ulong_i) << endl;
    cout << "float_i size:" << sizeof(float_i) << ", double_i size:" << sizeof(double_i) << endl;
    cout << "str size:" << sizeof(str) << ", str1 size:" << sizeof(str1) << endl;
    cin >> getstr;
}

在这里插入图片描述

3、可以加上unsigned的有char short int long,其他的不可以。

哦,该睡觉了。。。明天又是漫长的上班时间。。。

原网站

版权声明
本文为[FussyCat]所创,转载请带上原文链接,感谢
https://blog.csdn.net/FussyCat/article/details/103639910