当前位置: 首页 > news >正文

Java语言数据类型与c语言数据类型的不同

目录

一、c语言数据类型

1.基本类型:

2.枚举类型:

3.空类型:

4.派生类型:

二、C语言编程需要注意的64位和32机器的区别  

三、 不同之处


一、c语言数据类型

首先,先来整体介绍一下C语言的数据类型分类。

1.基本类型:

1.1 整型类型:基本整型(int)、短整型(short int)、长整型(long int)、双长整型(long long int)、字符型(char)和布尔型(bool)。
注:整型数据可在类型符号前面加修饰符:signed(有符号整数类型)和unsigned(无符号整数类型),若不指定则默认为“有符号类型”。

1.2 浮点类型:单精度浮点型(float)、双精度浮点型(double)


2.枚举类型:

枚举类型。枚举类型就只有枚举类型(enum)。


3.空类型:

空类型。空类型就只有空类型(void)。


4.派生类型:

派生类型。派生类型包含:指针类型(*)数组类型([ ])结构体类型(struct)共用体类型(union)

给大家一个思维导图仅供参考

二、C语言编程需要注意的64位和32机器的区别  

数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。作下比较:

32位平台下:

char1字节
short:2字节
int4字节
long4字节
long long8字节
float4字节
double8字节
bool1字节
指针         4个字节

64位平台下 :

char1字节
short:2字节
int4字节
long4字节
long long8字节
float4字节
double8字节
bool1字节
指针         8个字节

申明一下,这个表并没有涵盖所有的基础数据类型。

如果对字节还不是特别理解的,可以看看我的这篇文章:http://t.csdn.cn/myTeu

三、 不同之处

Java的数据类型和c语言的数据类型有很多相同的地方但也有很多不同的地方

在Java中数据类型主要分为两类:基本数据类型引用数据类型

基本数据类型有四类八种:

1. 四类:整型、浮点型、字符型以及布尔型
2. 八种:

1. 不论是在32位系统还是64位系统,Java中的 int都占用4个字节,long都占8个字节,而c语言中则要分平台来看。

2. Java中的char是两个字节,这是由于Java使用的是Unicode字符集,它能表示的字符量远远大于ASCII字符集,并且包括了许多语言,比如中文,拉丁文等等。因此按c语言的char容量(255),是远远不够存放。因此java的char容量也来到了2字节,由于我们都知道的,Java中的cha是无符号,则容量则有65535。因此,Java的字符类型也可以表示许多c语言无法表示的字符。而c语言中默认char类型是有符号的。

3. Java语言中有byte这个类型,而c语言中没有。

4. Java语言中有字符串这个类型,而c语言中没有。

5. Java语言的整数型没有所谓的有符号和无符号,Java的整数型即可正数,又可表示负数。

6. Java中引入了c语言中没有的boolean类型(布尔类型),用于表示真假,其中布尔类型true为真,false为假。值得注意的是:这也导致c语言中0为假,非0为真的说法在Java中是不成立的。 

7. Java中的字面值都有默认的类型,比如整数1,默认类型为int型,如果要写一个long类型的变量,只能写出long a=1L(其中L可以是大小写),浮点型也有相似的规定,小数都默认为double类型,因此要写一个float类型的变量,则只能写float b=0.5f(f可以是大小写)。
 

以上就是Java语言与c语言在数据类型上的一些不同,如果有错误和缺少,欢迎大家指正。 

http://www.lryc.cn/news/60534.html

相关文章:

  • C# Replace()、Trim()、Split()、Substring()、IndexOf() 、 LastIndexOf()函数
  • C++类的理解与类型名,类的成员,两种定义方式,类的访问限定符,成员访问,作用域与实例化对象
  • 【华为OD机试真题 C++】1051 - 处理器问题 | 机试题+算法思路+考点+代码解析
  • Linux 常用操作命令大全
  • Git使用教程
  • substrate中打印调试信息的多种方式详解
  • Disentangled Graph Collaborative Filtering
  • Nginx快速上手
  • 【设计模式】实际场景解释策略模式与工厂模式的应用
  • 外包干了三年,算是废了...
  • 九龙证券|光模块概念股封单资金超3亿元,传媒板块涨停潮来袭
  • [ES6] 数组
  • 【问题描述】编写一个程序计算出球、圆柱和圆锥的表面积和体积。
  • Python 人工智能:16~20
  • 【华为OD机试真题】最优资源分配(javapython)
  • git的使用——操作流程
  • Ae:自动定向
  • ClickHouse入门详解
  • javaweb笔记2
  • 【IIS搭建网站】本地电脑做服务器搭建web站点并公网访问「内网穿透」
  • 算法训练day2:哈希表
  • Git——利用SSH密钥本地仓库上传远程GitHub库
  • 一起读源码 —— Fastjson 的核心方法及其实现原理
  • Python实现批量图片下载及去重处理
  • 【QA】Python代码调试之解决Segmentation fault (core dumped)问题
  • C++ 迭代器之旅(Journey of Iterators)
  • 使用全球融合CDN的10大优势
  • 前端学习:HTML图像、表格、列表
  • 202305读书笔记|《因思念而沉着》——任何赞美都是身外之物唯自由可随身携带
  • M1 M2上能安装上Autocad 2024 Mac 中文版吗 autocad m1 m2版本有啦 终于支持Ventura 13x了