![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
Acme涛
这个作者很懒,什么都没留下…
展开
-
C语言文件读写
文件类型:从编程角度我们把文件分为两大类,分别为文本文件,二进制文件二进制文件:存储的是数据的补码,无法用文件文本打开,好处是读取文件就可以使用文本文件:把数据以字符的形式存储到文件中,可以直接打开,检查是否正确,但读写都需要进行数据转换打开文件:FILE *fopen( const char *fname, const char *mode );功能:打开、创建文件path:文件的路径mode:打开方式 "r" 以只读权限打开文件,如果不存在则打开失败 "r+"原创 2021-08-19 18:37:37 · 365 阅读 · 0 评论 -
字符串常考知识点
手写字符串相关函数1、strlen2、strcpy3、strcat4、strcmp#include <stdio.h>#include <assert.h>//strlensize_t str_len(const char* str){ assert(NULL != str); const char* tmp = str; while(*tmp) tmp++; return tmp - str;}//strcpychar* str_cpy(char原创 2021-07-27 22:42:37 · 115 阅读 · 0 评论 -
c语言字符串
字符:在计算机中字符是以整数形式存储的,当需要显示时会根据ASCII码中对应关系显示吹相应的符号或图案'\0' 0'0' 48'A' 65'a' 97printf("%c",ch);串:是一种数据结构,由一组连续的若干个相同类型的数据组成,末尾有一个结束标志对于这种数据结构的处理都是批量性的,从开头位置到结束标志为止。字符串:由字符组成的串型结构,结束标志是'\0'字符串字面值:1、“由双引号包含的若干个字符“,储存在代码段,以地址形式呈现con原创 2021-07-27 22:16:54 · 149 阅读 · 0 评论 -
c语言堆内存
为什么要使用堆内存:1、随着程序的复杂而数据变多2、其他的内存段申请和释放不受控制,堆内存的申请释放受控制如何使用堆内存:注意:C语言中没有控制堆内存的语句,只能使用C标准库中的函数#include <stdlib.h>void *malloc(size_t size); 功能:从堆内存中申请size个字节的内存返回值:成功时返回申请到的内存的首地址,失败返回NULL注意:通过malloc申请的堆内存中存储的是什么内容不确定内存清理函数: #include原创 2021-07-27 20:03:24 · 425 阅读 · 0 评论 -
指针知识点整理
指针什么是指针:指针是一种数据变量(例如int,char),使用它可以定义指针变量,这种变量用来存储内存地址,使用指针变量可以访问对应的内存,具体访问多少个字节由指针的类型所决定。什么情况下使用指针理论上我们使用指针可以访问任何位置的内存,但绝大部分内存我们是没有访问权限的,因此使用指针是容易产生错误(原因就是非法访问内存),所以我们要在合适的时候使用指针,例如以下情况1、函数之间共享局部变量 函数之间共享局部变量可以使用全局变量,但是全局变量容易造成命名冲突,还容易浪费内存,故在原创 2021-07-21 23:22:24 · 163 阅读 · 0 评论 -
c语言—进程
进程映像:程序:储存在磁盘中的可执行的文件(二进制文件、脚本文件)进程:在系统中运行的程序进程映像:进程的内存的分布情况text 代码段: 存储的是二进制的指令、常量数据,权限是只读的(可执行),如果强行修改会产生段错误data 数据段: 存储的是初始化过的全局变量、被初始化过的静态局部变量bss 静态数据段:存储的是未初始化过的全局变量、未初始化过的静态局部变量,程序运行前会清零heap 堆: 由程序员手动管理的,手动申请、释放的,使用比较麻烦,特点是:足够大,理论上无限大原创 2021-07-14 21:13:27 · 317 阅读 · 0 评论 -
c语言—函数
函数:函数声明: 会告诉编译器函数的格式,方便编译器检查调用时的格式是否正确 返回值类型 函数名(形参列表);隐式声明: 如果在调用时函数没有声明和定义,则编译器会猜测函数的格式 返回值默认为int类型,参数会根据实参猜测,要避免隐式声明函数定义: 返回值类型 函数名(形参列表) { 功能代码 } 注意:如果不需要返回值写void,不需要参数也写void,防止产生歧义函数调用:函数原创 2021-07-14 20:51:16 · 95 阅读 · 0 评论 -
c语言进制转换
进制转换:为什么使用二进制、八进制、十六进制? 由于现在的CPU只能识别高低两种电平,只能使用二进制数据进行计算 二进制虽然能够被计算机直接计算,但是不方便书写、记录,因此将数据以八进制方式为了 更方便记录在文件中随CPU位数不断增加,八进制不能满足需求,所以发展出了十六进制来表示数据。十进制转二进制:(十进制转其他进制):求余法: 用n对数据求余,然后再继续对商求余,知道商为0结束,过程中产生的余数就是该数据的n进制(逆序) n %2 余数 商%2原创 2021-07-12 19:08:43 · 281 阅读 · 0 评论 -
c语言知识点整理——数组
数组数组: 变量的组合,是一种批量定义变量的方式定义: 类型 数组名[数量]; int num1,num2,num3,num4,num5; int arr[5];使用:数组名[下标]; 下标:从零开始 范围:0~数量-1遍历:与for循环配合使用,使用循环变量i作为数组的下标初始化: 类型 数组名[数量] = {1,2,3,4,5,...}; 1、数组与普通变量一样默认值是随机的,为了安全要对数组进行初始化 2、这种初始化语法只能在定义语句时使用,原创 2021-07-11 23:02:35 · 475 阅读 · 2 评论 -
Linux系统常用命令
Linux系统常用命令Linux系统介绍:Linux系统命令:常用的命令:文件相关的命令:目录相关的命令:Linux使用小技巧:Linux系统介绍: BCPL->newB->C->UNIX->Minix->Linux->gcc Linux管理硬盘的能力非常强大,所以我们看到只有一分区/ 根目录,全部文件读存储在它下面bin 存储系统命令文件media 多媒体目录,u盘、光盘、挂载的目录home 用户主目录,自动生成同用户名的用户主目录原创 2021-07-10 16:58:06 · 72 阅读 · 0 评论 -
用c语言写汉诺塔游戏(递归函数)
学习日志:用c语言写汉诺塔游戏(递归函数)1、游戏规则有 A,B,C三个柱子,A柱子上有n个圆盘,将A上的圆盘转移到C上。 限制条件:每个柱子上的圆盘都需从大到小排放(即大的圆盘必须在下面)思路:1、将A柱子上的n-1个圆盘全部(通过C柱子)移动到B柱子上(不用思考具体怎么移动)。2、将A中最后一块圆盘移动到C柱子上。3、将B柱子上的n-1个圆盘(通过A柱子)移动到C柱子上#include<stdio.h>void move(int n,char a,char b,char c原创 2021-05-19 14:00:35 · 307 阅读 · 1 评论