📜  C数据类型(1)

📅  最后修改于: 2023-12-03 15:14:25.730000             🧑  作者: Mango

C 数据类型介绍

C 语言是一种静态类型语言,每个变量在创建时必须指定其类型。C 语言中的数据类型可以分为以下几类:

  • 基本类型
    • 整型(int, char, short, long, long long)
    • 浮点型(float, double, long double)
    • 枚举类型(enum)
  • 派生类型
    • 指针类型
    • 数组类型
    • 结构体类型(struct)
    • 共用体类型(union)
  • 空类型(void)
基本类型
整型

整型类型包括 int, char, short, long 和 long long。其中 int 是最常用的整型类型。

#include <stdio.h>

int main() {
   int a = 10;
   char b = 'x';
   short c = 20;
   long d = 100000;
   long long e = 1000000000;

   printf("a = %d\n", a);
   printf("b = %c\n", b);
   printf("c = %d\n", c);
   printf("d = %ld\n", d);
   printf("e = %lld\n", e);

   return 0;
}
浮点型

浮点型类型包括 float, double 和 long double。其中 float 是单精度浮点型,double 是双精度浮点型,long double 是扩展精度浮点型。

#include <stdio.h>

int main() {
   float a = 3.14159f;
   double b = 1.23456789012345;
   long double c = 12345.678901234567890;

   printf("a = %f\n", a);
   printf("b = %lf\n", b);
   printf("c = %Lf\n", c);

   return 0;
}
枚举类型

枚举类型用来定义一组有名字的常量。在 C 语言中,枚举类型按整型处理,每个枚举常量都有一个整型值,可以显式地指定,也可以由编译器自动赋值。

#include <stdio.h>

enum Color {
   red,
   green,
   blue
};

int main() {
   enum Color color = green;

   printf("color = %d\n", color);

   return 0;
}
派生类型
指针类型

指针是一个变量,其值为另一个变量的地址。可以使用 & 运算符获取变量的地址,使用 * 运算符访问指针所指向的变量。

#include <stdio.h>

int main() {
   int a = 10;
   int *p = &a;

   printf("a = %d\n", a);
   printf("&a = %p\n", &a);
   printf("p = %p\n", p);
   printf("*p = %d\n", *p);

   return 0;
}
数组类型

数组是一组同类型的变量的集合。数组定义时需要指定数组长度,在使用数组时可以通过下标访问数组元素。

#include <stdio.h>

int main() {
   int a[5] = {1, 2, 3, 4, 5};

   for (int i = 0; i < 5; i++) {
      printf("a[%d] = %d\n", i, a[i]);
   }

   return 0;
}
结构体类型

结构体是一种自定义的数据类型,可以包含多个不同类型的变量,这些变量称为结构体的成员。

#include <stdio.h>

struct People {
   char name[20];
   int age;
   float height;
};

int main() {
   struct People person = {"John", 25, 170.5};

   printf("name = %s\n", person.name);
   printf("age = %d\n", person.age);
   printf("height = %f\n", person.height);

   return 0;
}
共用体类型

共用体是一种特殊的结构体,其所有成员共用同一内存空间。共用体中的所有成员都从同一位置开始,所有成员的大小相同。

#include <stdio.h>

union Value {
   int i;
   float f;
};

int main() {
   union Value value;

   value.i = 100;
   printf("value.i = %d\n", value.i);

   value.f = 3.14;
   printf("value.f = %f\n", value.f);

   return 0;
}
空类型

空类型 void 没有实际的值,只能作为函数的返回类型或者指针的参数类型。

#include <stdio.h>

void printMessage(char *message) {
   printf("%s\n", message);
}

int main() {
   char message[] = "Hello, World!";

   printMessage(message);

   return 0;
}

以上介绍了 C 语言中的各种数据类型,根据需要选择合适的数据类型来存储和处理数据。