基础
数据类型
前言
在 C 语言编程中,数据类型用于声明变量,决定了与变量相关的数据类型和大小。例如:
int myVar; // 声明一个int类型的变量myVar
在这个例子中,myVar
是一个 int
(整数)类型的变量,其大小为 4 字节。
作用
数据类型的主要作用是帮助程序员明确表示数据的存储方式和范围,确保不同类型的变量可以合理地进行存储和操作。
使用场景
- int: 整数类型,适用于存储整数。
- float/double: 浮点类型,用于存储带小数点的实数。
- char: 字符类型,适用于存储单个字符。
- void: 表示没有类型,通常用于函数的返回类型。
示例
基本类型
以下是 C 语言中常用的数据类型及其大小和格式说明符:
类型 | 大小 (字节) | 格式说明符 |
---|---|---|
int | 至少 2,通常为 4 | %d, %i |
char | 1 | %c |
float | 4 | %f |
double | 8 | %lf |
short int | 通常为 2 | %hd |
unsigned int | 至少 2,通常为 4 | %u |
long int | 至少 4,通常为 8 | %ld, %li |
long long int | 至少 8 | %lld, %lli |
unsigned long int | 至少 4 | %lu |
unsigned long long int | 至少 8 | %llu |
signed char | 1 | %c |
unsigned char | 1 | %c |
long double | 至少 10,通常为 12 或 16 | %Lf |
int 类型
整数类型(int)用于存储没有小数部分的数字。可以表示 0、正数和负数,例如 0
,-5
,10
。
int id = 1001; // 声明一个int类型的变量id,并赋值为1001
int age = 25; // 声明另一个int类型的变量age,并赋值为25
通常 int
的大小为 4 字节(32 位),可以表示范围从 -2147483648 到 2147483647 之间的整数。
float 和 double 类型
float
和 double
用于存储带小数的实数。
float salary = 3000.50; // 声明float类型变量salary
double price = 45.99; // 声明double类型变量price
浮点数也可以表示为指数形式:
float normalizationFactor = 22.442e2; // 使用指数形式表示浮点数
float
的大小为 4 字节,而 double
的大小为 8 字节。
char 类型
char
用于存储单个字符,其大小为 1 字节。例如:
char test = 'h'; // 声明一个char类型的变量test,并赋值为'h'
void 类型
void
表示“无类型”,通常用于表示函数不返回值:
void myFunction() {
// 该函数不返回任何值
}
注意,不能创建 void
类型的变量。
short 和 long 类型
如果需要存储大范围的整数,可以使用 long
类型;如果需要存储较小范围的整数,可以使用 short
类型:
long a = 100000L; // 声明long类型的变量a
long long b = 100000LL; // 声明long long类型的变量b
short d = 32000; // 声明short类型的变量d
可以使用 sizeof()
运算符检查变量的大小:
#include <stdio.h>
int main() {
short a;
long b;
long long c;
long double d;
printf("short 的大小 = %d 字节\n", sizeof(a));
printf("long 的大小 = %d 字节\n", sizeof(b));
printf("long long 的大小 = %d 字节\n", sizeof(c));
printf("long double 的大小 = %d 字节\n", sizeof(d));
return 0;
}
signed 和 unsigned 类型
signed
和 unsigned
是类型修饰符,用于改变数据类型的存储方式:
signed
:可存储正数和负数。unsigned
:只存储非负整数。
例如:
unsigned int x = 35; // 只存储正整数
int y = -35; // signed int,存储负整数
由于 unsigned int
不能存储负数,因此以下代码是无效的:
unsigned int num = -35; // 错误:unsigned int 不能存储负数
派生数据类型
派生数据类型是由基本数据类型派生出来的。例如:数组、指针、函数类型、结构体等。我们将在后续的教程中学习这些内容。
结语
理解 C 语言中的数据类型是编写有效程序的基础。掌握它们的用法有助于您在编程时正确选择变量类型并优化存储空间。