栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

ReLearn C(1):C语言数据类型长度

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ReLearn C(1):C语言数据类型长度

最近在学习ZYNQ中嵌入式部分,由于之前已经写了很久的Verilog代码,脑海中还是并行处理的概念,对于程序语言这种顺序执行,有点不习惯,同时也有好几年没有写C语言了(虽然上学的时候考取了二级C的证书,但是现在连指针,结构体基本上都忘光了)。所以重新学习一遍C语言,笔者看的书是《C程序设计语言》(The C Programming Language)。有些想法很基础,但是同样重要。

2021-12-15于无锡,这同样是重学C语言的第一篇笔记!

C语言中基本数据类型长度

C标准中并没有具体给出规定基本的变量类型应该是多少字节数,在《C程序设计语言》这本书中指出这取决于具体的机器。实际上这应该于机器、OS、编译器有关。

所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):

  • sizeof(short int)<=sizeof(int)
  • sizeof(int)<=sizeof(long int)
  • short int至少应为16位(2字节)
  • long int 至少应为32位(4字节)

这里笔者实际编写了一段代码来验证一下。

#include "stdio.h"
int main(void)
{
    int a = 0,b = 0,c = 0,
        d = 0,e = 0,f = 0,
        g = 0,h = 0,i = 0,
        j = 0,k = 0,l = 0,
        m = 0,n = 0;
    a = sizeof(int               );
    b = sizeof(float             );
    c = sizeof(double            );
    d = sizeof(char              );
    e = sizeof(short             );
    f = sizeof(short int         );
    g = sizeof(long              );
    h = sizeof(long int          );
    i = sizeof(long long         );
    j = sizeof(unsigned int      );
    k = sizeof(unsigned short    );
    l = sizeof(unsigned long     );
    m = sizeof(unsigned char     );
    n = sizeof(unsigned long long);
  
    printf("int                = %drn",a*8);
    printf("float              = %drn",b*8);
    printf("double             = %drn",c*8);
    printf("char               = %drn",d*8);
    printf("short              = %drn",e*8);
    printf("short int          = %drn",f*8);
    printf("long               = %drn",g*8);
    printf("long int           = %drn",h*8);
    printf("long long          = %drn",i*8);
    printf("unsigned int       = %drn",j*8);
    printf("unsigned short     = %drn",k*8);
    printf("unsigned long      = %drn",l*8);
    printf("unsigned char      = %drn",m*8);
    printf("unsigned long long = %drn",n*8);
    return 0;
}

笔者使用的操作系统是Window10,C语言编译器-MingGW-w64。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664710.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号