1 Star 0 Fork 1

一一哥/c语言文档

forked from 狐皮先生/c语言文档 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
1.6.txt 5.10 KB
一键复制 编辑 原始数据 按行查看 历史
狐皮先生 提交于 2023-01-13 12:48 +08:00 . 1.13 文档
初识c语言
1. EOF=-1
2.scanf会返回读取的数据的个数 返回失败返回-1
3.ctrl+z 让scanf不获取数据结束函数;
4.关键字 register->寄存器
计算机上的存储空间有:网盘,硬盘,内存 ,高速缓存,寄存器,
存储空间大小 网盘(T)>硬盘(大G)>内存(小G) > 高数缓存(M)>寄存器(字节)
速度越快 造价越高 内存越小
cpu==中央处理器
register int a=10;
(建议把a放入寄存器中存取
但是现在的编译器不太需要
自动会放入寄存器)
5.关键词 typedef 给类型取别名
typedef unsigned int unint;
int main()
{
unint age;
return 0;
}
----------------------------------------------------------------
6.关键字 static 静态的
三种用法
6.1修饰局部变量
什么时候用:下一次进函数或者循环时要保留上一次的值,不在重新初始化;
6.2修饰全局变量
什么时候用:独享变量,不让其他源文件使用
6.3修饰函数
什么时候用:独享函数,不让其他源文件调用
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6.1 使局部变量 变为全局变量,再次经过时跳过该变量声明,出作用域不会销毁。(将原本存储在栈区的变量改为存储在静态区)
ps(被修改的局部变量生命周期改变,当作用域不改变 )
6.2 使全局变量 变为局部变量,取消了外部链接属性,只能在自己所在的源文件内部使用
(单纯的全局变量(不是由static改变的局部变量,可以链接属性 1.c可以用2.c的全局变量)
ps(被修改的全局当变量:作用域改变(变小),生命周期不改变 )
6.3 使函数不可被外部链接调用,只能在自己所在的源文件内部使用。
(函数本身具有外部链接属性,被static修饰后变为内部链接)
ps(被修改的全局当变量:作用域改变(变小),生命周期不改变 )
7. test.c -->编译 + 链接 --(生成)-->.exe
8.内存区域划分-1.栈区——放:局部变量 函数参数等临时变量。
2.堆区——放:动态内存分配(malloc、realloc calloc、free)
3.静态区——放:静态变量、全局变量
等等
栈区,进入作用域创建,出了作用域就销毁
静态区,在该区的函数数据创建后,程序结束才释放
8.关键词 estern 声明外部符号
一、变量
在1.c中定义一个 int g_a=10
(g_a 不在函数中定义,它是全局变量。)
在2.c中想使用1.c定义的 g_a变量,在代码中先声明外部符号就可使用
estern int g_a;就可以使用
二、函数 在1.c中定义一个 int add(int a,int b){}
( 函数 add 不在库函数中定义,它是自定义函数。)
在2.c中想使用1.c定义的 add函数,在代码中先声明外部符号就可使用
int add(int a,int b)就可以使用(形参 a b 变量名可加可不加)
9.#define 的使用
#define in_n int int的别名
#define PI 3.14 3.14的别名
#define add(x,y) (x+y) 简单的计算
10.指针的概念
10.1 、首先理解内存: 内存是计算机上的一种存储空间,8G 16G等等
程序运行时会载入内存,如果程序需要有数据存储,就会开辟空间
10.2、 计算机如何有:将内存划分为小的内存单元,每个单元编号(数据地址), 一个内存单元大小一个字节,一个内存单元有一个地址又叫指针,
效的使用内存
空间?
10.3、如果访问一个内存单元。那 :32位电脑为例,该电脑有32位地址线,地址线通电,(电信号的高电频和低电频--->转换位数字信号的0和1)
么内存单元地址如何产生呢? 32根地址线通电 全是低电频产生的数字信号位 为:00000000000000000000000000000000
共有2^32个排序方法 所以有2^32个地址,就可以管理2^32个内存单元(单位:byte)也就是2^32个字节内存空间
ps(bit<byte<kb<mb<gb) 2^32byte/1024/1024/1024=4G内存空间
8个2进制位位一个字节 所以64位电脑 :2^64byte
2个16进制位也为一个字节
10.4 2进制转换16进制 每4个二进制位转换为1个十六进制位 0010 1101
2 d
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sunyiyi/c-language-document.git
git@gitee.com:sunyiyi/c-language-document.git
sunyiyi
c-language-document
c语言文档
master

搜索帮助