数据类型
Posted SmartGame
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型相关的知识,希望对你有一定的参考价值。
本来是想写一些关于结构体的心得的,不过突然想起了数据类型,就顺便复习一下了,其实这个在之前已经说过了,在指针也是一种数据类型中说过一下,虽然只是稍微提了一下,于是就想着干脆说详细点好了;
数据类型分两类:
一类是 非结构的原子类型,其值是不可分解的,例如c语言中的基本类型(整型,实型、字符型和枚举类型)、指针类型和空类型。
另一类是结构类型:是由若干成分按某种结构组成,因此是可以分解的,它的成分可以是非结构的,也可以是结构的的;
这里按照字面意识理解及可以了,整型就是int ,实型float,double以此类推
数据类型和变量是不一样的,比如直接写一个int 是无法使用的,正确的写法应该是: 类型 名字 ==> int a;则变量啊可以在编译器里使用
数据类型有什么用,如同字面意思一样储存不同数据类型,这个不多做解释了;
至于它的另一个作用就是分配内存空间的大小;
1 void main() 2 { 3 int a; 4 float b; 5 double c; 6 char d; 7 printf("sizeof(a):%d sizeof(b):%d sizeof(c):%d sizeof(d):%d\n",sizeof(a),sizeof(b),sizeof(c),sizeof(d));//4 4 8 1 8 system("pause"); 9 }
如上int分配4个字节内存空间,float分配4个,double分配8个,char分配1个,于是我们可以这样认为:
数据类型是固定内存块大小的别名;
也就是说通过类型所定义的变量的内存块大小是固定的,不会int a是4个字节而int b是8个字节;
为什么要特意把数据类型说明一下,因为结构体也是一种自定义的数据类型,而我刚开始学的时候一直以为它是一个函数调用,所以当时一直觉的很奇怪,用起来总是出错,所以觉得这里有必要说明一下;
所以一定要记住的是:数据类型是固定内存块大小的别名;
以上是关于数据类型的主要内容,如果未能解决你的问题,请参考以下文章
对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段