> 文章列表 > Java语言数据类型与c语言数据类型的不同

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

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位平台下:

char 1字节
short: 2字节
int 4字节
long 4字节
long long 8字节
float 4字节
double 8字节
bool 1字节
指针          4个字节

64位平台下 :

char 1字节
short: 2字节
int 4字节
long 4字节
long long 8字节
float 4字节
double 8字节
bool 1字节
指针          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语言在数据类型上的一些不同,如果有错误和缺少,欢迎大家指正。