基本数据类型分析
2013-07-17 10:40
295 查看
数据类型:
数据类型可以理解为固定内存大小的别名
数据类型是创建变量的模子
数据类型的本质:内存大小的别名
char代表1个字节,他就是1个字节的别名;
short代表2个字节,他就是2个字节的别名;
int代表4个字节,他就是4个字节的别名;
......
当需要1个字节时,把char这个模子拿到内存里一“咔”,1个字节内存就出来就可以使用了;
当需要2个字节时,把short这个模子拿到内存里一“咔”,2个字节内存就出来就可以使用了;
......
变量本质:
变量是一段实际连续存储空间的别名;
程序中通过变量来申请并命名存储空间;
通过变量的名字可以使用存储空间
定义和申明:
A:int i; B:extern int i; 哪个定义? 哪个申明?
定义:就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。但注意,这个名字一旦和这块内存匹配起来(可以想象是这个名字嫁给了这块空间) ,它们就同生共死,终生不离不弃。并且这块内存的位置也不能被改变。一个变量或对象在一定的区域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义 同一个变量或对象。
声明:有两重含义:
第一重含义:告诉编译器,这个名字已经匹配到一块内存上了(伊人已嫁,吾将何去何从?何以解忧,唯有稀粥) ,下面的代码用到变量或对象是在别的地方定义的。声明可以出 现多次。
第二重含义:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量名或对象名。比如你在图书馆自习室的某个座位上放了一本书,表明这个座位已经有人预 订,别人再也不允许使用这个座位。其实这个时候你本人并没有坐在这个座位上。这种声 明最典型的例子就是函数参数的声明,如void fun(int i, char c);
所以 A是定义,B是申明。
定义和申明嘴重要的区别:定义创建了对象并为这个对象分配了内存,申明没有分配内存(一个抱伊人,一个喝稀粥)。
数据类型可以理解为固定内存大小的别名
数据类型是创建变量的模子
数据类型的本质:内存大小的别名
char代表1个字节,他就是1个字节的别名;
short代表2个字节,他就是2个字节的别名;
int代表4个字节,他就是4个字节的别名;
......
当需要1个字节时,把char这个模子拿到内存里一“咔”,1个字节内存就出来就可以使用了;
当需要2个字节时,把short这个模子拿到内存里一“咔”,2个字节内存就出来就可以使用了;
......
变量本质:
变量是一段实际连续存储空间的别名;
程序中通过变量来申请并命名存储空间;
通过变量的名字可以使用存储空间
定义和申明:
A:int i; B:extern int i; 哪个定义? 哪个申明?
定义:就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。但注意,这个名字一旦和这块内存匹配起来(可以想象是这个名字嫁给了这块空间) ,它们就同生共死,终生不离不弃。并且这块内存的位置也不能被改变。一个变量或对象在一定的区域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义 同一个变量或对象。
声明:有两重含义:
第一重含义:告诉编译器,这个名字已经匹配到一块内存上了(伊人已嫁,吾将何去何从?何以解忧,唯有稀粥) ,下面的代码用到变量或对象是在别的地方定义的。声明可以出 现多次。
第二重含义:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量名或对象名。比如你在图书馆自习室的某个座位上放了一本书,表明这个座位已经有人预 订,别人再也不允许使用这个座位。其实这个时候你本人并没有坐在这个座位上。这种声 明最典型的例子就是函数参数的声明,如void fun(int i, char c);
所以 A是定义,B是申明。
定义和申明嘴重要的区别:定义创建了对象并为这个对象分配了内存,申明没有分配内存(一个抱伊人,一个喝稀粥)。
相关文章推荐
- 基本数据类型boolean的封装类型之Boolean源码分析
- 基本的数据类型分析----java.lang.Number类及其子类分析
- 【C语言学习】01__基本数据类型分析
- Java基本数据类型转换分析
- float与double基本数据类型分析
- Js从头学起(基本数据类型和引用类型的参数传递详细分析)
- java中的基本数据类型和引用数据类型的分析
- 基本数据类型分析
- redis基本数据类型分析
- 基本数据类型分析
- c语言学习笔记(1)基本数据类型及auto,register,static分析
- C语言学习重点总结(一)基本数据类型分析
- JAVA IO分析二:字节数组流、基本数据&对象类型的数据流、打印流
- Js从头学起(详细分析基本数据类型和引用类型的参数传递)
- JS基本数据类型和引用类型的参数传递详细分析
- Java中基本数据类型与引用数据类型分析
- 基本的数据类型分析----java.lang.Number类及其子类分析
- 基本数据类型分析
- OpenCv学习笔记(三)---OpenCv中基本数据类型--Point,Size,Rect,Scalar,Vec3b类类型的详细解释及其OpenCv中源代码的详细分析
- 内存级分析,基本数据类型,引用数据类型 比较是否相等