数据类型

<1>C语言是有类型的语言

(1)C语言的要求

1. C语言的变量必须在使用前定义;

2. 变量要进行类型的确定和区分;

(2)C之后不同语言的发展方向:

1. C++/JAVA,更强调类型;(强调类型的语言更面向底层)

2. 而Python、JavaScript、PHP不看重类型甚至不需要事先定义;(面向运用,远离底层)

(3)C语言存在的问题

C语言需要类型,但对类型的安全检查并不足够;

<2>C语言类型

大体可分为四种:共五类,四类则是将逻辑bool类型合并到整数类型。

  • 整型(逻辑bool)
    • int,char,short,long,long long(bool);
  • 浮点型
    • float,double,long double;
  • 指针
  • 自定义类型

<3>类型不同的几个表现方面

  • 类型名称
    ——int,long,double;
  • 输入输出时的格式化

——%d,%ld,%lf;

  • 所表达的数的范围

char<short<int<float<double

  • 内存占据大小

——1-16个字节;

  • 内存中的表达形式

——二进制数(补码)、编码;

<4>sizeof

  • 是一个运算符;

  • 可以给出某个变量或类型在内存中所占据的字节数;

  • sizeof(int);

  • sizeof(i).

1)举例应用sizeof

#include<stdio.h>

int main(){
int a;
a=6;
printf("sizeof(int)=%ld\n",sizeof(int));
printf("sizeof(a)=%ld\n",sizeof(a));
return 0;
}
得出int,a均占据四个字节,32个bit;若类型改为double则占据8个字节;long double占据字节数为16。

  1. 注意:sizeof是静态运算符,因此在sizeof的括号中做运算无效;

  2. 举例以sizeof(a++)为例,接着输出a值,结果显示a的结果仍然为6;

  3. 以类型转换为例:sizeof(a+1.0)结果会显示占据8个字节,在此处字符类型将转换成double,double在内存中占据8个字节。

posted @ 2023-11-07 00:57  瑜阳  阅读(48)  评论(0)    收藏  举报