C3 数据

本文深入探讨C语言中的基本数据类型,包括整型、浮点型、指针及聚合类型,解析各类型的特点与应用。同时,文章还介绍了变量的作用域、链接属性和存储类型,以及static关键字的使用,帮助读者全面理解C语言的数据处理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量:作用域,链接属性,存储类型。
3.1 基本数据类型(P29)
四种:整型、浮点型、指针、聚合类型(数组和结构。)

3.1.1 整型家族
字符、短整型、整型和长整型。
char 1字节
signed char 1
unsigned char 1字节
short/int 至少2字节
long int 至少 4字节

  • 整型字面值(P31)
    字面值是字面值常量缩写:一种实体,指定自身的值,不允许改变。
    const 的变量。

  • 枚举类型(P32)
    它的值为符号常量不是字面值。

3.1.2 浮点类型
float 4字节
double 8字节 由程序设定
long double

3.1.3 指针(P34)
指针变量就是其值为另外一些内存的地址的变量。

  • 指针常量
  • 字符串常量
    当一个字符串常量出现在表达式中,表达式中所使用的值就是这些字符所存储的地址。

3.2 基本声明
说明符(一个或多个) 声明表达式列表

3.2.1 初始化

int i=16;

3.2.2 声明简单数组

 int a[20];

3.2.3 声明指针

int *a; = int (*a);
char *a="message" ; 
= char *a; a="message";

3.2.4 隐式声明
函数不显示声明返回值类型,默认返回整型。

3.3 typedef(P38)

typedef char stringgg;

#define无法正确处理指针类型

3.4 常量
const

int const a = 15;
const int a;
int const * pci;(指向整型常量的指针);
int * const pci;(指向整型的常量指针)
int const * const pci (皆为常量 不可更改)

3.5 作用域(P40)
作用域:变量在某个区域才能被访问
不同作用域可以给不同变量同名。

  • 代码块作用域
    花括号之间作用。
    代码块嵌套:内层自成一家。
    独立代码块的变量无法被另一个代码块访问。(所以他们的变量可以放在同一个内存地址)

  • 文件作用域
    所有在代码块以外声明的标识符都具有。从声明之处到所在的source code结尾都可以访问。
    文件中定义的函数名也具有文件作用域。

  • 原型作用域
    函数原型中声明的参数名。

  • 函数作用域

3.6 链接属性(P42)
标识符的链接属性决定处理不同文件里相同的标识符。

  • none
    标识符的多个声明被当做独立不同实体。

  • internal
    在同一源文件里所有声明中都指向同一个实体。不同源文件的多个声明分属不同实体。
    static int b;
    通过static 将变量从external变成internal。

  • external
    几个源文件都表示同一个实体。
    使用extern 将变量变成外部变量。
    但是extern在第二次声明定义的时候不会更改第一次声明的链接属性。

3.7 存储类型(P43)
变量值的内存类型,决定何时创建,销毁以及保存多久。
存储变量地方:普通内存,运行的堆栈,硬件寄存器。

  • 静态变量:代码块之外的声明变量存储于静态内存
    在程序运行之前创建,在运行阶段始终存在。

  • 自动变量:代码块内部声明的变量。存储在堆栈中。程序运行到代码块才创建,离开代码块就被销毁。给内部变量加上static则一直存在。

存储类型不改变该变量作用域,依旧只能在该代码块内部按名字访问。

  • register:用于自动变量声明,提示存储在硬件寄存器,为寄存器变量。寄存器变量比内存变量效率高。

初始化:?
3.8 static 关键字

  • 用于函数定义以及代码块外变量声明,修改链接属性。
  • 用于代码块内部变量,用于修改变量的存储类型。

external链接属性的变量总是静态存储。(P47)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值