
C基础
文章平均质量分 88
C语言基础
行孤、
就写博客做做笔记,写一下我自己的想法。
展开
-
day10 文件操作
文章目录一、概述1. 磁盘文件和设备文件1.1 磁盘文件1.2 设备文件2. 磁盘文件分类3. 文本文件和二进制文件3.1 文本文件3.2 二进制文件二、打开文件与关闭文件1.文件指针2. 文件的打开2.1 打开文件函数2.2 打开的模式 一、概述 1. 磁盘文件和设备文件 1.1 磁盘文件 指一组相关数据的有序集合,通常存储在外部介质(如磁盘)上,使用时才调入内存。简单点说就是将数据存放到外部介质上,比如磁盘,U盘啊等等,要使用的时候再导进来。 1.2 设备文件 在操作系统中把每一个与主机相连的输原创 2021-11-17 17:17:02 · 1314 阅读 · 0 评论 -
day09 结构体等复合类型(自定义类型)
文章目录一、结构体1.概述2. 结构体变量的定义和初始化2.1定义结构体变量的方式:2.2 结构体类型和结构体变量关系2.3 结构体成员的使用2.4 结构体的大小和内存结构2.4.1 测试代码2.4.2 分析测试结果 一、结构体 1.概述 我们知道数组用来描述一组具有相同类型数据的有序集合,用于处理大量相同类型的数据运算。 有时我们需要将不同类型的数据组合成一个有机的整体,来满足需求,因为普通的数据类型无法满足需求。比如说需要打印一个学生的具体信息,一个学生有学号/姓名/性别/年龄/地址等属性。显然原创 2021-11-16 23:09:42 · 1260 阅读 · 0 评论 -
day08 变量作用域生命周期与内存
求非空字符串元素个数: “ni chou sha chou ni za di” 字符串逆置: str_inverse hello -- olleh void str_inserse(char *str) { char *start = str; // 记录首元素地址 char *end = str + strlen(str) - 1; // 记录最后一个元素地址。 while (start < end) // 首元素地址是否 < 最后一个元素地址 { char tmp = *原创 2021-11-15 17:51:20 · 1090 阅读 · 0 评论 -
day07 指针和字符串
一、指针和函数: 1.栈 帧: 当函数调用时,系统会在 stack 空间上申请一块内存区域,用来供函数调用,主要存放 形参 和 局部变量(定义在函数内部)。 当函数调用结束,这块内存区域自动被释放(消失)。 这个就像是工地里请了批个工人过来干活,那么要腾出一片空间给这个工人使用,搭棚放工具啥的。如果工期结束了这片空间上的东西就销毁了 2.传值和传址: 2.1传值: 函数调用期间,实参将自己的值,拷贝一份给形参。 不会影响原来实参的值。为什么不会影响呢?因为被调用的函数中,操作的形参和实参是原创 2021-11-14 16:10:32 · 1016 阅读 · 0 评论 -
day06 指针基础
一、指针和内存单元 (1)指针: 地址。很多人都说指针就是地址,其实我觉得这个说法不正确,应该说指针指向地址,或者说指针存放地址。 (2)内存单元: 计算机中内存最小的存储单位。——内存单元。大小一个字节。 每一个内存单元都有一个唯一的编号(数)。称这个内存单元的编号为 “地址”。 (3)指针变量:存地址的变量。 二、指针定义和使用: 1.间接引用 int a = 10; int *p = &a; int* p;--- windows; int *p ---Linux原创 2021-11-13 20:04:09 · 1339 阅读 · 0 评论 -
day05 数组与函数
文章目录一、二维数组:1.大小:2.地址合一:3.二维数组的初始化:4.多维数组:【了解】二、字符串:1.字符数组和字符串的区别2.字符串获取 scanf:3.字符串操作函数:4.字符串追加:三、函数1.函数的作用:2.函数分类:3.随机数:4.函数定义:5.函数调用:6.函数声明:7.exit函数: #include 一、二维数组: int arr[10] = {1,2,3,5,6,7}; {1,2,3,5,6,7}; {1,2,3,5,6,7}; {1,2,3,5,6,7}; {1,2,3,5,6,7原创 2021-11-12 07:24:08 · 115 阅读 · 0 评论 -
day03 运算符和程序运行结构
文章目录一、变量类型限定符1.extern:2.const:3.volatile:4.register:二、字符串:三、输入输出函数1.printf函数:2.putchar函数:3.scanf函数:4.getchar()函数:四、算数运算符:1.++ 和 --:2.赋值运算:3.比较运算符:4.逻辑运算符:5.运算符优先级:6.三目运算符: ? :五、类型转换:1. 隐式类型转换:2. 强制类型转换:六、程序运行结构1.if分支语句:匹配一个范围.属于模糊匹配.2.switch 分支:精确匹配.3.whil原创 2021-11-08 20:38:25 · 234 阅读 · 0 评论 -
day02 常量变量,进制转换
一、常量及定义方法 常量:不会变化的数据。不能被修改。 1. “hello”、'A'、-10、3.1415926(浮点常量) 2. #define PI 3.1415 【强调】:没有分号结束标记。 【推荐】 定义宏: 定义语法: #define 宏名 宏值 3. const int a = 10; 定义语法:const 类型名 变量名 = 变量值。 const关键字: 被该关键字修饰的变量,表示为只读变量。 const 是只读变量,如果通过简单的修改方式修改就会出错: 二、变量及定义方法原创 2021-11-07 11:29:08 · 364 阅读 · 0 评论 -
day01 初识C语言及gcc编译过程
文章目录一、解决提示窗一闪而过:二、两种编写 helloworld 的方式:三、system 函数:四、gcc编译4步骤:【重点】1. 预处理文件1.1 预处理做的工作为:1.2 头文件展开,可以展开任意文件1.3 宏定义替换1.4 替换注释1.5 展开条件编译 --- 根据条件来展开指令2.编译 -S xxx.s 汇编文件2.1 逐行检查,检查语法错误2.2 将C程序翻译成汇编指令3.汇编 -c xxx.o 目标文件4. 链接 xxx.exe 可执行文件。五、VS调试程序:六、CPU内部结构与寄存器6原创 2021-11-02 22:22:43 · 801 阅读 · 0 评论