当前位置: 首页 > article >正文

C语言基础数据类型

C语言------基础数据类型

思考、实践、总结、交流,八字真言是学习任何一门知识的内功,尤其是在很方便用鸡皮提的时代中,独立思考是很重要的。

一个 C 语言工程由多个.c(源码文件) .h(头文件)组成。.c 文件是实现逻辑的地方,包含函数的具体实现。.h 文件是声明接口的地方,用于定义函数、变量、宏等,使模块间可以通信。

image-20241130185922086

1. 数据类型概述

C语言的数据类型是变量存储和操作的基础。每种数据类型决定了变量的存储大小表示范围以及适用场景

C语言的数据类型可以分为以下几类:

  1. 基本类型:如intfloatdoublecharvoid
  2. 派生类型:如数组、指针、结构体、联合体等。
  3. 自定义类型:如enumtypedef

2. 常见的基本数据类型

数据类型字节数(一般情况)取值范围(32位系统)描述
int4 字节-2,147,483,648 ~ 2,147,483,647表示整数类型
float4 字节±3.4E-38 ~ ±3.4E+38(6-7位精度)表示单精度浮点数
double8 字节±1.7E-308 ~ ±1.7E+308(15-16位精度)表示双精度浮点数
char1 字节-128 ~ 127(有符号) 0 ~ 255(无符号)表示单个字符或小整数
void表示无类型,多用于函数返回值为空的场景

3. 数据类型的详细说明

3.1 int 类型

  • 用于存储整数(正数、负数和零)。

  • 默认占用 4字节,在32位系统上通常取值范围为 -2^312^31 - 1

  • 示例代码:

    cCopy codeint a = 100;       // 定义一个整型变量
    printf("a = %d\n", a);
    

3.2 float 类型

  • 用于表示单精度浮点数,通常占用 4字节

  • 通常可精确到小数点后 6-7位

  • 示例代码:

    cCopy codefloat pi = 3.14f;  // 定义一个浮点型变量
    printf("pi = %f\n", pi);
    

3.3 double 类型

  • 用于表示双精度浮点数,通常占用 8字节

  • 通常可精确到小数点后 15-16位

  • 示例代码:

    cCopy codedouble radius = 6.283185;
    printf("Radius = %lf\n", radius);
    

3.4 char 类型

  • 用于存储单个字符或小整数。

  • 通常占用 1字节,在有符号模式下取值范围是 -128127,在无符号模式下是 0255

  • 示例代码:

    cCopy codechar grade = 'A';   // 定义一个字符变量
    printf("Grade = %c\n", grade);
    

3.5 void 类型

  • 表示无类型

  • 通常用于:

    1. 函数返回值为空:

      cCopy codevoid printMessage() {
          printf("Hello, World!\n");
      }
      
    2. 表示空指针:

      void *ptr = NULL;
      

4. 使用 sizeof 查看数据类型的字节数

  • sizeof 运算符可以用来查看数据类型或变量的存储字节数。

  • 示例代码:

    cCopy code#include <stdio.h>
    
    int main() {
        printf("Size of int: %d bytes\n", sizeof(int));
        printf("Size of float: %d bytes\n", sizeof(float));
        printf("Size of double: %d bytes\n", sizeof(double));
        printf("Size of char: %d bytes\n", sizeof(char));
        return 0;
    }
    
  • 输出:

    image-20241130194133936


5. 特别注意:数据类型的取值范围

  1. 有符号与无符号

    • signed(有符号):包括正数和负数。

    • unsigned(无符号):只能表示非负数,取值范围加倍。

    • 示例:

      cCopy codesigned char a = -100;    // 有符号
      unsigned char b = 200;   // 无符号
      printf("a = %d, b = %u\n", a, b);
      
  2. 数据类型大小依赖于系统架构

    • 在32位系统和64位系统上,longint 的字节数可能不同。
    • 可以使用<stdint.h>中的类型(如int32_t)指定精确大小。

http://www.kler.cn/a/417150.html

相关文章:

  • 学习threejs,使用设置lightMap光照贴图创建阴影效果
  • 房屋结构安全监测系统守护房屋安全卫士
  • uniapp实现组件竖版菜单
  • Oracle 插入数据的存储过程
  • 【051】基于51单片机温度计【Proteus仿真+Keil程序+报告+原理图】
  • 根据导数的定义计算导函数
  • 如何创建 MySQL 数据库的副本 ?
  • C#里怎么样使用new修饰符来让类智能选择基类函数还是派生类函数?
  • 基于一致性理论的三机并联独立微网二次控制MATLAB仿真模型
  • vue3使用monaco编辑器(VSCode网页版)
  • 计算机网络性能
  • vim编辑器的一些配置和快捷键
  • 操作无法完成,因为其中的文件夹或文件已在另一程序中打开 请关闭该文件夹或文件,然后重试。>>怎么删除被打开的文件
  • 算法技巧及模板总结
  • 第四十二篇 EfficientNet:重新思考卷积神经网络的模型缩放
  • Web开发基础学习——通过React示例学习模态对话框
  • 力扣第 77 题 组合
  • Python中的六种“国际数字格式”实施方式
  • 解决windows下php8.x及以上版本,在Apache2.4中无法加载CURL扩展的问题
  • 存储服务器一般做是做什么阵列?详细列举一下
  • Spring boot之BeanDefinition介绍
  • 在Java中使用Apache POI导入导出Excel(一)
  • TensorBoard中的add_image()和add_scalar()
  • Pandas 操作Excel
  • duxapp 2024-11-29 更新 新增 UI 组件功能
  • iQOO Neo10系列携三大蓝科技亮相,性能与续航全面升级