一、数据类型
1、什么是数据类型?
数据类型描述了一个变量究竟是存放什么类型的数据。
数据类型分为基本数据类型和非基本数据类型。
C语言只提供了下列几种基本数据类型:
char | 字符型,占用一个字节,可以存放本地字符集中的一个字符 |
---|---|
int | 整型,通常反应了所用机器中整数的自然长度 |
float | 单精度浮点型 |
double | 双精度浮点型 |
非基本数据类型:就是用户自定义类型,例如数组,指针,结构体…
2、基本数据类型在内存中所占的空间
程序在内存上运行时,会不断地申请空间,不同数据类型会占用不同的空间。
计算内存空间大小可利用函数: sizeof()
例:
#include <stdio.h>
int main(int argc,char *argv[])
{
printf("%d\n",sizeof(char));//1
printf("%d\n",sizeof(short));//2
printf("%d\n",sizeof(int));//4
printf("%d\n",sizeof(long));//4 -> 32位:4 64位:8
printf("%d\n",sizeof(float));//4
printf("%d\n",sizeof(double));//8
return 0;
}
程序执行结果为:
1
2
4
8
4
8
基本数据类型占用空间的大小由编译系统来决定的。
二、如何定义变量
1、 公式: 数据类型 + 变量名
数据类型: 从基本数据类型中选择一个,也可以从非基本数据类型中选择。
变量名:有一套定义的规则
1)只能由字母,数字,下划线组成。
2)不能以数字开头。
3)不能与系统的关键字重名。
例:
int a;
int a的解释:在内存中连续申请4个字节,然后使用变量a间接访问这片内存空间。
例:
int main(int argc,char *argv[])
{
int a; -> 申请4个字节
return 0; -> 释放掉这4个字节
}
2. 内存分配原则 --> 连续空闲不确定。
1)分配内存空间时,内存一定是连续的。
2)分配内存空间时,一定是空闲(之前的变量已经申请过的空间就不会再被申请到)
3)分配内存空间时,位置是不确定