c语言数据类型(一) 最后更新时间:2022年02月11日 ### 数据类型 #### 基本数据类型 基本数据类型是语言系统定义的数据类型,只能有单一的值。在程序定义变量时可以直接赋值引用。 基本数据类型分为(以下内容会在之后的内容细说): 1. 整型 2. 实数型 3. 字符型 #### 构造类型 构造数据类型是由基本的数据类型按一定的规则组合而成的,因此也称为导出类型数据。 ##### 数组型 数组型是由相同类型的数据组合而成的。 ##### 结构型 结构型是由不同类型的数据组合而成的。 ##### 共用型 当若干个数据不同时使用的时候,为了节省内存空间,我们就可以让它们占用相同的内存区域,这些数据组合起来就是共用体。 共用型的数据可以是相同类型的数据,也可以是不同类型的数据。 #### 指针类型 指针是一种特殊的数据类型,是具有重要作用的数据类型,其值用来表示某个量在内存储器中的地址。 #### 空类型 空类型是从语法完整性的角度给出的一种数据类型,表示不需要具体的数据值,因此没有数据结构。 空类型在调用函数值时,通常应向调用者返回一个函数值,这个返回值是具有一定的数据类型的,应在函数中给予说明。 示例: ```c int func(int a, int b) { int c; c = a +b; return c } ``` 示例中的函数使用了int类型说明符,表示该函数将会返回int数据。 而如果是采用不确定返回值类型的空类型说明符,则用`void`说明符。 之所以需要空类型,是因为,函数的默认返回值类型是int,如果在函数定义时未带返回类型说明,则默认为int;即使函数中没有return语句,编译器按照函数返回值的原理,会返回一个不确定的值。如果将这样的函数错用在表达式里,语法上没错,但会带来很难察觉的逻辑错误。 函数前不写类型说明符号,默认为int类型。 示例: ```c #include int func(int a, int b) { int c; c = a +b; return c; } void main() { int cs; cs = func(1,2); printf("我是测试:%d\n",cs); // ==> 我是测试:3 } ``` 正常输出。 ```c #include func(int a,int b) { int c; c = a+b; return c; } void main() { int cs; cs = func(1,2); printf("我是测试:%d\n",cs); // ==> 我是测试:3 } ``` 正常输出,但是会对func函数报错。 ```c #include func() { char a[] = "i am cs"; return a; } void main() { printf(func()); } ``` 无法输出,会报错。 ```c warning: passing argument 1 of 'printf' makes pointer from integer without a cast ``` 即printf函数的参数func()会将参数强制转换为int类型。
Comments | NOTHING