C语言中不同变量类型长度
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语言中不同变量类型长度相关推荐
- 在c语言中 使用变量的要求,关于C语言中变量的探讨
摘 要: 在所有的计算机高级语言中,都存在着变量这样一个重要的概念.变量是计算机高级语言程序的重要成分之一.与其他语言中的变量相比,C语言中的变量所包含的内容更为丰富,包括变量的定义.数据类型.变量数 ...
- Gox语言中的数组类型及其常用操作 - GX7.1
作为脚本语言,Gox语言中的复合类型当然会设计得更加方便一些,也很容易理解.由于Gox默认使用Qlang脚本引擎,Qlang中关于数组或者叫做切片(也就是Go语言中的slice,以后我们约定这两个称呼 ...
- c语言 地址类型,C语言中的地址类型
第!!卷!第"期 #$%&!!!'$&" ! ! ! ! ! 平!原!大!学!学!报 ()*+',-)./0'12*,'*'0#3+4052 ! ! ! ! !66 ...
- (四)C语言中的字符类型
(四)C语言中的字符类型 C语言中的字符型数据分为字符和字符串数据两类.**字符数据是指由单引号括起来的单个字符,**如'a'.'2'.'&'等:字符串数据是指由双引号括起来的一串字符序列,如 ...
- js 判断变量是否有值返回bool_基础 |判断 JS 中的变量类型竟然可以如此简单
原标题:基础 |判断 JS 中的变量类型竟然可以如此简单 嗨 这里是IMWEB 一个想为更多的前端人 享知识 助发展 觅福利 有情怀有情调的公众号 欢迎关注转发 让更多的前端技友一起学习发展~ 正文 ...
- c语言中指针的类型,学习C语言中的指针类型
摘要:结合我院学生十年来参加全国计算机等级考试(C语言部分)情况,通过分析成绩分布与题型关系,我们发现指针方面的题型失分率最高.在此基础上结合教学实际,本文提出学习指针知识的方法和顺序过程,并将其应用 ...
- c语言中外部变量的使用方法,C语言外部变量的使用以及erxtern的用法
网上有很多帖子问C语言中extern的用法,而且回答的详细程度各尽不同. 所以我就像写一篇博文来谈谈我对extern的看法,不一定十分恰当,只当大家共勉. 变量定义性声明和引用性声明 变量的声明有两种 ...
- C语言中的自定义类型
C语言中的自定义类型 (一)结构体 结构体的声明 结构体是一些值的集合,这些值称为成员变量,结构体的成员可以是不同类型的变量: 结构体的声明 struct tag { member-list; }va ...
- Java快速入门学习笔记2 | Java语言中的基本类型
有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...
最新文章
- Android Vector笔记
- 构造类斐波那契数列矩阵(矩阵
- 冲击SuperGLUE:基于多任务与对抗训练的Finetune方案解析
- 编程语言发展的编年史
- Canvas制作动态进度加载水球
- 两种云原生技术在弹性计算的使用、原理和思考
- AXure RP8 破解码
- 带音效的计算机软件,普通电脑WIN7上安装杜比音效增强软件Dolby Home TheaterV4教程...
- 排队叫号python编程_一种自主选时排队叫号算法
- Python自动化运维之1、Python入门
- 【C语言】初识C语言(下篇)
- 计算机网络传输介质的特点,计算机网络基础:数据通信技术之传输介质
- Java正确获取星期Calendar.DAY_OF_WEEK
- 转载:BP(反向传播算法)公式推导及例题解析
- 知识经济时代,企业该如何进行知识管理?
- 通过APACHE POI操作OFFICE --EXCEL(一)
- html隐藏visibility,CSS Visibility(可见性)
- BM发声,孙宇晨入场,国产公链集体进军DeFi
- Python——生成激活码并存入MySQL
- 九款酷炫基于jquery实现的应用及源码
热门文章
- (python3)kaggle上matplotlib显示不了中文(title是框,坐标也是框)完全解决.md
- 《聊斋Q传》地狱问答系统的设计疏漏与改进
- 怎样去除excel表中的虚线_表格中的虚线怎么去掉【应对步骤】
- oracle创建视图字段,oracle cast--创建视图指定字段类型
- 测试沟通中的必备专业名称
- PTA 在霍格沃茨找零钱 (20分)
- Unity—小米VR开发——颇繁琐的开发步骤探索
- css clip generator/css图片裁剪网站推荐
- javascript删除对象上的属性
- Matlab实现文件读写的几种方法(确实很好,不错)