C语言重要知识点

本文详细介绍了程序内存的各个区域,如text段、data段、bss段、stack栈和heap堆,以及它们各自的特点和用途。同时,讨论了C语言中的关键字,如static、const、volatile等,如何影响变量的存储位置、生命周期和作用域。通过对这些基础知识的深入理解,有助于提升编程技能和优化程序性能。
摘要由CSDN通过智能技术生成

text 代码段: 存储的是二进制指令、常量数据,权限是只读,强制修改会产生段错误
data 数据段: 存储被初始化过的全局变量、被初始化过的静态局部变量
bss 静态数据段:存储未初始化的全局变量、未初始化过的静态局部变量,程序运行时会自动清理为0
stack 栈: 局部变量、块变量,会随着程序运行而不断地申请、释放,由系统统一管理,但是小
heap 堆: 由程序员手动管理,特点就是大

static
改变存储位置:
改变局部变量的存储位置:由stack栈内存改为data或者bss(由局部变量是否初始化决定)
被它修饰过的局部变量也称为静态局部变量
延长生命周期:
延长局部变量的生命周期

限制作用范围:
    限制全局变量、函数只能在本文件中使用

防止全局变量、函数名冲突,也可以防止被别人调用

C语言关键字:
数据类型相关:
内建类型:
void,char,short,int,long,float,double 7个
自建类型:
struct,union,enum,sizeof 4个
类型限定符:
auto,const(恒定不变),static(静态的),volatile(定义变量,相当于告诉编译器,这个变量的值会随时发生变化,易变的、不稳定的),register(做声明的,代表寄存器存储的类型),extern(放在变量
或者函数前,以表示变量或函数的定义在别的文件中),
typedef(给数据类型取一个新的名字),signed,unsigned 8个

流程控制相关:
分支:
    if,else,switch,case,default                     5个
循环: 
    for,while,do                                    3个
跳转:
    break,continue,goto,return                      4个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值