C语言数据长度记录

数据类型 16位编译器(字节) 32位编译器(字节) 64位编译器(字节)
char 1 1 1
int 2 4 4
short int 2 2 2
float 4 4 4
double 8 8 8
long 4 4 8
long long 8 8 8
指针 2 4 8

int,long,char前面可以加unsigned,表示该变量为无符号的,最高位用来表示数据而不是符号,不影响变量长度。
指针作用是寻址,所以受到编译器影响,比如32位编译器的内存最高位2^32位,也就是四个字节,所以指针长度也是四个字节,16位或64位编译器中的指针长度也是如此计算。

结构体长度除了由结构体成员变量决定,也受到字节对齐影响,在64位编译器,四字节对齐的情况下

typedef struct{char  a;int   d;char  c[3];
}Test_struct;

Test_struct中char占一个1个字节,int占4个字节,成员变量的长度为8个字节,但在4字节对齐的情况下,char占用了一个字节,剩下的三个字节并不足够int使用,所以int使用了下一个四字节的空间,然后c[3]使用了3个字节,sizeof(Test_struct)返回值位12,浪费了三个字节的空间。
但是,如果修改变量定义顺序

typedef struct{char  a;char  c[3];int   d;
}Test_struct;

这个时候sizeof(Test_struct)返回值为8。

C语言中不同变量类型长度相关推荐

  1. 在c语言中 使用变量的要求,关于C语言中变量的探讨

    摘 要: 在所有的计算机高级语言中,都存在着变量这样一个重要的概念.变量是计算机高级语言程序的重要成分之一.与其他语言中的变量相比,C语言中的变量所包含的内容更为丰富,包括变量的定义.数据类型.变量数 ...

  2. Gox语言中的数组类型及其常用操作 - GX7.1

    作为脚本语言,Gox语言中的复合类型当然会设计得更加方便一些,也很容易理解.由于Gox默认使用Qlang脚本引擎,Qlang中关于数组或者叫做切片(也就是Go语言中的slice,以后我们约定这两个称呼 ...

  3. c语言 地址类型,C语言中的地址类型

    第!!卷!第"期 #$%&!!!'$&" ! ! ! ! ! 平!原!大!学!学!报 ()*+',-)./0'12*,'*'0#3+4052 ! ! ! ! !66 ...

  4. (四)C语言中的字符类型

    (四)C语言中的字符类型 C语言中的字符型数据分为字符和字符串数据两类.**字符数据是指由单引号括起来的单个字符,**如'a'.'2'.'&'等:字符串数据是指由双引号括起来的一串字符序列,如 ...

  5. js 判断变量是否有值返回bool_基础 |判断 JS 中的变量类型竟然可以如此简单

    原标题:基础 |判断 JS 中的变量类型竟然可以如此简单 嗨 这里是IMWEB 一个想为更多的前端人 享知识 助发展 觅福利 有情怀有情调的公众号 欢迎关注转发 让更多的前端技友一起学习发展~ 正文 ...

  6. c语言中指针的类型,学习C语言中的指针类型

    摘要:结合我院学生十年来参加全国计算机等级考试(C语言部分)情况,通过分析成绩分布与题型关系,我们发现指针方面的题型失分率最高.在此基础上结合教学实际,本文提出学习指针知识的方法和顺序过程,并将其应用 ...

  7. c语言中外部变量的使用方法,C语言外部变量的使用以及erxtern的用法

    网上有很多帖子问C语言中extern的用法,而且回答的详细程度各尽不同. 所以我就像写一篇博文来谈谈我对extern的看法,不一定十分恰当,只当大家共勉. 变量定义性声明和引用性声明 变量的声明有两种 ...

  8. C语言中的自定义类型

    C语言中的自定义类型 (一)结构体 结构体的声明 结构体是一些值的集合,这些值称为成员变量,结构体的成员可以是不同类型的变量: 结构体的声明 struct tag { member-list; }va ...

  9. Java快速入门学习笔记2 | Java语言中的基本类型

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

最新文章

  1. Android Vector笔记
  2. 构造类斐波那契数列矩阵(矩阵
  3. 冲击SuperGLUE:基于多任务与对抗训练的Finetune方案解析
  4. 编程语言发展的编年史
  5. Canvas制作动态进度加载水球
  6. 两种云原生技术在弹性计算的使用、原理和思考
  7. AXure RP8 破解码
  8. 带音效的计算机软件,普通电脑WIN7上安装杜比音效增强软件Dolby Home TheaterV4教程...
  9. 排队叫号python编程_一种自主选时排队叫号算法
  10. Python自动化运维之1、Python入门
  11. 【C语言】初识C语言(下篇)
  12. 计算机网络传输介质的特点,计算机网络基础:数据通信技术之传输介质
  13. Java正确获取星期Calendar.DAY_OF_WEEK
  14. 转载:BP(反向传播算法)公式推导及例题解析
  15. 知识经济时代,企业该如何进行知识管理?
  16. 通过APACHE POI操作OFFICE --EXCEL(一)
  17. html隐藏visibility,CSS Visibility(可见性)
  18. BM发声,孙宇晨入场,国产公链集体进军DeFi
  19. Python——生成激活码并存入MySQL
  20. 九款酷炫基于jquery实现的应用及源码

热门文章

  1. (python3)kaggle上matplotlib显示不了中文(title是框,坐标也是框)完全解决.md
  2. 《聊斋Q传》地狱问答系统的设计疏漏与改进
  3. 怎样去除excel表中的虚线_表格中的虚线怎么去掉【应对步骤】
  4. oracle创建视图字段,oracle cast--创建视图指定字段类型
  5. 测试沟通中的必备专业名称
  6. PTA 在霍格沃茨找零钱 (20分)
  7. Unity—小米VR开发——颇繁琐的开发步骤探索
  8. css clip generator/css图片裁剪网站推荐
  9. javascript删除对象上的属性
  10. Matlab实现文件读写的几种方法(确实很好,不错)