变量占据的字节数的问题。
来源:互联网 发布:小区物业管理系统源码 编辑:程序博客网 时间:2024/05/19 04:27
# 不同语言相同的基本数据类型
在C语言中基本数据类型
C语言中的数据类型我们肯定很熟悉了,比如int , float, double , char之类的。学习比较仔细的同学可能曾经疑惑过很多东西。比如整型int 在内存中所占据的字节数的大小。因为有人说是4字节,也有人说是2字节。我也疑惑过。所以请看下文。
在这里我们浅谈基本数据类型占据的字节数
浅谈C语言中基本类型所占用的字节数:计算机的发展,由于操作系统的发展逐渐分为两种:Win32位和Win64位。而C语言规定:每种类型所占用内存的大小由编译器和编译系统自行决定.在Win64系统,vc++6.0内规定了int型占用4字节。但是不同的编译器在不同的操作系统上为同一类型的数据分配的内存空间是不相同的。如vc++6.0,在Win64系统上为int分配4字节。但在Win32操作系统上分配2字节。所以每种基本数据类型在不同的编译器和不同的操作系统中,分配的大小是不相同的。也就是说C语言中的基本类型所占用的大小不仅仅由编译器决定,同样也由操作系统和编译系统决定。二者共同决定。
但是JAVA就不一样了。由于JAVA运行在JVM(java虚拟机),所以JAVA是不依赖操作系统和编译系统的。字节数的大小是确定的。在Sun公司出品的Hotspot这种JVM就直接规定了各种基本类型数据的大小。他的大小由JVM决定。二者对比。
java中的基本类型数据与C语言的区别
说道这里还有一点没有说过。C语言中基本数据类型存在普通类型和无符号类型,而JAVA中并不存在无符号类型的基本数据类型,只有普通的int, float, double之类的。听说微软好像有一年对某一个人的面试中提到过这个东西。问了无符号的int在64位操作系统的条件下vc++6.0表示的数据的范围。相信很多人都不记得普通的int类型在这种情况下,他的表示范围。你可以在不看书,不查百度的情况下自己测试测试自己的细心程度。当然这种问题答不出来并不算什么,答出来也只说明平时比较认真而已。不必深计较。但是认真的人肯定不会错。32次方和31次方的区别,从0开始和从负的2的31次方这两个东西可以看看书。
记得笔者入坑JAVA的时候,曾经和JAVA老师交流过关于字节数大小的问题。老师也给了很多他自己的看法。笔者的老师曾经是一位JAVA开发工程师,虽然当老师已经10多年了。但是从撸代码的速度和质量上来看确实和其他任课老师有较大的优势。是我最尊敬的老师之一。
因为笔者明年找实习的时候可能不会做C语言相关的工作,入坑JAVA了,所以大部分东西还是对比着JAVA。关于更多JVM后续会在相关地方发布学习体会。后续也会推送一些关于JAVA的东西。都是很浅显的理解。
细小的知识需要平时的累积,我觉得一个人的学习态度从很多地方可以看出。做软件开发的同学第一点就应该是细心。在此再引申一个问题:出栈和入栈的时候是先进行自加自减,还是先操作数据的。同样的提现的是一个人的细心程度和写过代码的能力。这些经常写代码的同学应该是知道的。加油咯。可以自己测试测试自己的细心程度。
- 变量占据的字节数的问题。
- C语言数据类型占据的字节数
- 各种数据类型占据的字节
- 变量占的字节数
- 各基本数据类型占据的字节
- 不同类型变量的字节数说明
- javascript获得变量的字节数
- 三种常见的编码:ASCII码、UTF-8编码、Unicode编码等字符占据的字节数
- C语言中,整形、浮点型、字符型数据在不同编译器中所占据的字节数
- border占据边距的问题
- 处理ScrollView占据布局的焦点问题
- 中断占据CPU时间的计算问题
- 内存的构造和变量占用的字节数
- 文件读写的字节数问题
- RecyclerView--GridLayoutManager设置某个item占据的列数
- RecyclerView--GridLayoutManager设置某个item占据的列数
- 变量各类型所占的字节数
- 不使用sizeof,获取变量所占用的字节数
- Codeforces Gym 101234H Split Game
- MySQL日常练习;
- 进制的基础与进阶
- 10.while循环
- 在 Ubuntu 16.04 中 安装为知笔记
- 变量占据的字节数的问题。
- Java开发工具的安装
- 11.循环控制
- Java Object类型能不能强制转化为值类型
- cmake2.8.1 + qt4.8.5 + opencv2.3.1 + mingw
- 作业调度
- 百度2017春招笔试真题编程题集合
- jquery 无法获取 Kindeditor 编辑器中当前 textarea 值的解决办法
- java重载