c中的数据类型

原创 2004年04月26日 11:51:00
/*作者:陈亮
  日期:2004-45-25
*/
(注:)以下内容都是说在32位的操作系统下的
C的常用数据类型:
一、首先要搞清的基本问题:
1.在计算机中内存的基本单位是byte,这就意谓着C中所有的数据类型也是以byte为基本单位的.
2.1 byte(字节) = 8 bit(位); 1kb(千字节) = 1024 byte(字节).
3.INTER的内存是以4kb边界对齐的.(一页内存).
4.计算机中所有的东西都是以二进制来进行存储的.
如果编程中遇到什么很怪的问题,不妨试试从以上的角度来考虑一下。
二、基本数据类型
char  占用内存1byte
int  占用内存4byte 
short  占用内存2byte
long   占用内存4byte
float  占用内存4byte
double 占用内存8byte
三、指针类型
1.指针类型只能存放地址(我觉得这是理解指针的最重要方面)。
2.不论什么指针类型都占用4byte的内存.(也就是说它可以指向的最大内存为4G)
3.所以任何的指针类型都可以进行相互转换.
4.那么指针类型的类型又有什么作用呢?它的作用只是说明此指针指向地址的内容的类型。比如:
 (1)int *p; 那么p++就会加4(看二的int). 当用*p的时候,它会读所指向地址的连续4个字节
 (2)char *p; 那么p++就会加1(看二的char).当用*p的时候,它会读所指向地址的1个字节
 (3)而像(int*)p这样的转换的意思也只是将p所指向地址的内容的类型改变为int.这样它在p++时就会加4
    ,当用*p时它就会读所指向地址的连续4个字节.
四、结构体
struct mytest{
 int i;
 char c;
};
sizeof(struct mytest) = 8;
为什么会这样呢?因为要以4byte过界对齐(这样在CPU取地址时速度会快很多)。
所以在使用sizeof(结构体)要特别小心,要想想是不是自己想要的结果。

C语言 - 什么是数据类型?数据类型的本质

C语言中提供了许多的数据类型,如下图所示:C语言为什么要引入这么多的数据类型呢?因为C语言归根结底只是一门编程语言,一种让计算机为我们做事情的工具。引入这么多的数据类型是为了更加方便的表现现实世界中事...
  • u014622185
  • u014622185
  • 2015年11月04日 16:57
  • 3062

深入理解C语言-----各数据类型大小

首先看下C标准中“未明确定义”的三种类型Implementation-defined、Unspecified和Undefined。(以下内容部分摘自宋劲彬老师的文章) Implementation...
  • simon_uestc
  • simon_uestc
  • 2014年02月24日 11:31
  • 6517

c语言系列(一)基本数据类型

1.声明头文件,相当于Java的导包。 //只有函数的声明,编译时会去找到函数的实现 #include 1212 2.写main()方法 main(){ ...
  • lf1570180470
  • lf1570180470
  • 2016年11月06日 22:51
  • 687

C语言中的基本数据类型

IOS学写字 本文目录 一、变量二、类型修饰符三、不同编译器环境下基本数据类型的存储长度 说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上...
  • smxueer
  • smxueer
  • 2014年10月07日 16:39
  • 2595

C语言基本数据类型

一,整型 1,int类型 a:int变量: int变量是有符号整数,占用一个字的大小。但是ANSI规定int类型最少占用16位 即-2^15~2^15-1 (注:计算机中一个字表示最自然的存储单位...
  • myKurt
  • myKurt
  • 2017年01月06日 21:34
  • 878

C语言的数据类型

MinGW是windows操作系统里的gcc当输入非法时,使用scanf(“%*[^\n]”);scanf(“%*c”);从而不影响对后面读取数据的影响.关键字后面接空格 函数名后面不要空格 , ...
  • Robot__Man
  • Robot__Man
  • 2016年06月16日 16:22
  • 539

C语言的基本数据类型与表达式

今天主要讲了C语言的基本数据类型与表达式。最基本的单位是位,字节,字。数据的存储方式包括整数和浮点数,还有c语言的基本数据类型,包括基本类型,构造类型,指针类型(*),还有空类型,以及常量和变量还有运...
  • BiuBiu741
  • BiuBiu741
  • 2016年11月13日 22:08
  • 1138

C语言基本数据类型及转换规则

C语言的基本数据类型;有点奇怪的是为什么float和double不用signed/unsigned修饰。 符号属性 长度属性 基本型 所占位数 取值范围 输入符举例 输...
  • Since20140504
  • Since20140504
  • 2014年05月08日 16:04
  • 2362

(一)C语言基础(基本数据类型,输入输出)

一 、Hello.c#include //导入头文件 ,类似于Java中的import #include main(){ printf("Hello world !\n"); //格式化...
  • zhuquantai
  • zhuquantai
  • 2016年11月06日 22:11
  • 251

C语言系列(一)基本数据类型

C语言helloworld1.声明头文件,相当于java的导包。 //只有函数的声明,编译时会去找到函数的实现 #include 2.写main()方法 main(){ ...
  • u011974987
  • u011974987
  • 2016年08月06日 21:50
  • 2524
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c中的数据类型
举报原因:
原因补充:

(最多只允许输入30个字)