自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 文件的操作

函数原型: FILE* fopen(const char *path,const char *mode);函数原型: char *fgets(char *buf, int size, FILE *fp);函数功能:从fp代表的文件中获取size -1个字符,放置在buf代表的内存中。2. C语言程序中:文件指针(文件类型指针),语法: FILE *指针变量名。操作文件中的数据,而是系统会为文件在内存中创建“文件缓冲区”,程序对文件的操作,其实是在。mode:文件打开的方式(读-r、写-w、读写-rw)

2024-08-25 01:00:00 1760

原创 ~构造类型~

定义:自定义数据类型的一种,关键字 struct ,结构体类型的变量可以存储多个不同数据类型的。. :左侧是结构体变量(结构体对象/实例),也可以叫做结构体对象访问成员符;注意:定义匿名结构体的同时必须定义结构体变量,否则编译报错,结构体可以作为另一个结。2. 全局位置的结构体名和局部位置的结构体名可以相同,就近原则(和普通变量的定义。结构体成员初始化时,可以部分初始化,部分初始化时一定要带大括号标明数据的范围。基本类型数组怎么用,结构体数组就怎么用--->可以遍历,可以作为形式参数,也。

2024-08-23 01:00:00 936

原创 内存的操作

函数原型: void *memcpy(void *dest,const void *src,size_t n);函数原型: int *memchr|*memrchr(const void *s,int c,size_t n)函数原型: int memcmp(void *dest,const void *src,size_t n)注意:n一般和src,dest的总容量一样;函数功能:拷贝src开始的堆内存空间前n个字节,到dest对应的内存中。函数功能:比较src和dest所代表的内存前n个字节的数据;

2024-08-22 01:00:00 717

原创 void与void*的区别

void*作为形参类型:这个函数在调用时,可以给任意类型( char*,int*,double*等 )的指。void*作为返回值类型:这个函数可以返回任意类型( char*,int*,double*等 )的指针。void* 类似于通配符,不能对void*类型的变量解引用(因为不明确内存单元的大小)。void*是一个指针类型,但该指针的数据类型不明确,无法通过解引用获取 内存中的数据,void*:是指针类型,是指针类型的一种,可以匹配任意类型的指针,类似于通配符。void:是空类型,是数据类型的一种。

2024-08-21 01:00:00 420

原创 动态内存分配

函数功能:C库函数 void * calloc(size_t nitems,size_t size) 分配所需的内存空间,并返回一。函数功能:C 库函数 void *malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指。返回值类型:void* :该函数返回一个指针,指向已分配大小的内存,如果请求失败,返回。2. 如果原来的内存空间后有20个连续空间,就扩容20-4 =16个内存单元,返回原来旧的内存首地。返回值类型:void*:该函数返回一个指针,指向已分配大小的内存。

2024-08-20 19:06:23 714

原创 函数指针与指针函数

定义:函数指针本质是指针,它是函数的指针(定义一个指针变量,变量中存储了函数的地址)。函数都有一个入口地址,所谓指向函数的指针,就是指向函数的入口地址。在函数中不要直接返回一个局部变量的地址,因为函数调用完毕后,局部变量会被回收,使 得返回的地址就不明确,此时返回的指针就是野指针。1. 函数指针指向的函数要和函数指针定义的返回值类型,形参列表对应,否则编译报错。4. 函数指针作为形参,函数调用时的实参只能是与之对应的函数名,不能带小括号。定义:本质是函数,这个函数的返回值类型是指针,这个函数称为指针函数。

2024-08-17 00:30:00 243

原创 字符数组和字符指针

1. 字符数组在创建的时候,会在内存中开辟内存空间,内存空间可以存放字符数据;字符指针在创建 的时候,需要依赖于字符数组,字符指针在内存中开辟的内存空间中,存放的是数组元素的内存地 址。字符指针的创建依赖于字符数组,字符数组可以独立存在,而字符指针不能独立存在。字符数组由元素组成,每个元素中存放一个字符,而字符指针变量中存放的是地址,也能作为函数 参数。实参用字符数组,形参用字符指针(在函数内部不能对字符串中的字符做修改)对于字符串中字符的存取,可以用下标法,也可以用指针法。实参与形参都可以是字符数组。

2024-08-16 00:30:00 459

原创 野指针、空指针

说明:NULL是空常量,它的值是0,这个NULL一般存放在内存中的0x00000000位置,这个地址只 能存放NULL,不能被其他程序修改。空指针,又被称作悬空指针:当一个指针的值是NULL,这个指针被称为空指针;定义:访问了一个已经销毁或者访问受限的内存区域外的指针,这个指针就被称为野指针。1. 指针变量幻及时初始化,如果暂时没有对应的值,建议赋值为NULL;3. 指针指向的内存空间被回收,建议给这个指针变量赋值为NULL。2. 数组操作(遍历,指针运算)时,注意数组的长度,避免越界。

2024-08-16 00:15:00 257

原创 数组指针与指针数组

指针数组的本质是一个数组,只是数组中的元素类型为指针。概念:指针数组是一个数组,数组中的每个元素都是一个指针。数据类型 (*指针变量名)[容量];数据类型 (*指针变量名)[容量];指针和数组中符号优先级: () > [] > *它指向的是一个完整的数组。先有“指针”,后有“数组”数据类型 *数组名[容量]建议:我们一般使用指针数组处理字符串。概念:数组指针是指向数组的指针。

2024-08-15 08:57:19 350

原创 通过指针引用数组

值传递:一般发生在函数形参的类型为char、short、int、long、float、double这样的类型,它的传 递,一般是实参将自己的值复制一份给形参,也就是实参变量和形参变量的变量空间是分开的。引用传递:一般发生在函数形参的类型为数组、指针这样的类型,它的传递,一般是实参将自己的 内存首地址复制一份给形参,也就是实参变量和形参变量对应内存空间是同一个。数组指针:数组中的第一个元素的地址,也就是数组的首地址。指针数组:用来存放数组元素地址的数组,称之为指针数组。数组指针:指向一维数组的指针变量。

2024-08-15 08:49:25 975

原创 指针的引入

内存地址:系统为了内存管理的方便,将内存划分为一个个的内存单元(1个内存单元占1个字 节),并为每一个内存单元进行了编号,内存单元的编号称为该内存单元的地址。一般情况下,我 们每一个变量都是由多个内存单元构成的,所以每个变量的内存地址,其实就是这个变量对应的第 一个内存单元的地址,也叫首地址。4. 指针变量只能指向同类型的变量,借助指针变量访问内存,一次访问的内存大小是取决于指针变量 的类型。指针变量做函数参数往往传递的是变量的地址(首地址),借助于指针变量间接访问是可以修改实参 变量数据的。

2024-08-14 17:45:40 419

原创 函数返回值,调用

当用数组做函数的实际参数时,则形参应该也要用数组/指针变量来接收,但请注意,此次并不 代表传递了数组中所有的元素数据,而是传递了第一个元素的内存地址(数组首地址),形参接收这 个地址后,则形参和实参就代表了同一块内存空间,则形参的数据修改会改变实参的。外部函数:使用extern修饰的函数,称作外部函数,extern是默认的,可以不写,也就是说本质上 我们所写的函数都是外部函数,建议外部函数在被其他文件调用的时候,在其他文件中声明的时 候,加上extern关键字。

2024-08-13 00:30:00 1849

原创 函数,形参,实参

语法。

2024-08-12 14:59:30 1041

原创 一,二维数组,冒泡排序等

数组是相同类型,有序数据的集合。

2024-08-12 14:42:03 1010

原创 break和continue

功能:1. 用在switch中,用来跳出switch的case语句;如果case没有break,可能会产生case穿透。2. 用在循环中(while、do..while、for..),提前结束循环,也就是跳出整个循环。说明:1. break不能用于循环语句和switch语句之外的任何其它语句之中。2. break只能终止并跳出最近一层的结构。

2024-08-02 00:30:00 271

原创 循环结构;

什么是循环:代码的重复执行,就叫做循环。循环的分类:无限循环:程序设计中尽量避免无限循环。(程序中的无限循环必须可控)有限循环:循环限定循环次数或者循环的条件。循环的构成:循环体循环条件。

2024-08-01 00:45:00 1142

原创 分支结构;

分支结构:又被称之为选择结构选择结构:根据条件成立与否,选择相应的操作。

2024-07-31 17:19:36 536

原创 在linux中NFS网络文件系统

sudo mount 主机IP:服务端共享文件目录 /mnt/remote ---将共享目录挂载到本地目录。1.在被共享的系统中安装nfs服务:sudo apt-get install nfs-kernel-server。/home/用户名/share *(rw,sync,no_root_squash)(rw,sync,no_root_squash):表示访问权限。sudo mkdir /mnt/rmote -----创建本地目录。说明:/home/用户名/share:要被共享的目录。

2024-07-28 13:08:16 287

原创 c语言中输入输出语句及概念

数据的输入与输出是相对于计算机而言的。其中:从计算机向外部设备输送数据称为输出。通常输出设备包括:显示器、打印机等;从外部设备向计算机输送数据称为输入。通常输入设备包括:键盘、鼠标、扫描仪等。在C语言中,输入与输出是用标准库函数中的输入、输出函数实现的库函数已编译成目标文件,在链接时与编译源程序得到的目标文件(.obj)相连接,生成可执行程序。注意:在使用系统库函数时,要用预编译命令#include将有关的头文件包含到用户源文件中(即在程序的开头)

2024-07-26 18:33:10 2256

原创 c语言语句概述

说明:“()”中是一个判断条件,“......‘表示内嵌的语句。有一个表达式加一个分号构成,最典型的是赋值语句,例如。一个函数的执行部分是由若干条语句组成的。C语句都是用来完成一定的操作任务的。a=3 是一个表达式。goto 标号 (无条件跳转语句)C程序是以函数为基本单位的。

2024-07-26 17:08:24 186

原创 输入输出缓冲机制

录入:输入输出操作的内部采用的缓冲机制,也就是当我们用scanf()输入数据时,并不是直接将键盘 录入的数据存储到内存变量中,而是系统会先去输入缓冲区查看是否有符合类型的数据,如果存在将 直接输入缓冲区中的数据到内存变量,此时就不用键盘录入,否则猜需要键盘录入复合类型的数据。比如:我们从磁盘里读取信息,先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲区的数据取完后再去磁盘中读取,这样就减少磁盘的读写次数,再加上计算机对缓冲区的操作大大快于磁盘的操作,故应用缓冲区可大大提高计算机的运行速度。

2024-07-26 16:56:01 513

原创 算法程序概述

当型循环:特点:先判断条件,后执行语句,语句可能一次也得不到执行。选择结构:又被称之为分支结构,根据条件是否成立,选择对应的操作。确定行,算法中的每条指令必须有明确的含义,不能产生歧义。顺序结构:各操作是按先后顺序执行的。可行性,算法中的每一天指令必须是切实可执行的;直到型循环:先执行语句,后判断条件,语句至少执行一次。函数调用语句:scanf(...);:广义地说,为解决一个问题而采取的方法和有限的步骤,称之为“算法”复合语句:{...}:有穷性,包含有限的操作步骤,不能无限制的执行下去;

2024-07-26 16:51:46 213

原创 在linux终端进程的相关指令

linux终端查看等指令:ps,kill,killall,的用法及含义

2024-07-26 00:30:00 218

原创 关于linux磁盘查看相关指令

h :以-b -k -m 显示,最常用的选项。语法 :df [选项] [文件系统/挂载点/目录]-h:以-b -k -m显示,最常用。-a:以byte为单位显示全部分区。-b :以byte为单位显示大小。-k :以kb为单位显示大小。-m :以MB为单位显示大小。说明:显示文件和目录的磁盘使用空间大小。说明:显示磁盘分区上可以使用的磁盘空间。语法:du [选项] [文件/目录]

2024-07-26 00:30:00 176

原创 linux挂载及卸载指令

说明:我们每一个外设在接入linux系统的时候,linux系统会为每一个外部设备准备一个映射文件,这个映射文件存放在/dev下。如果我们想要访问这个外设(存储外设),我们就需要访问/dev下对象的映射文件,或者根据文件系统将外设挂载到我们指定的挂载点,这样我们就可以正常访问。说明:查看所有磁盘列表,包括linux自身+外部储存(查询所有可挂载的文件系统)选项:-t :文件系统类型:指定要挂载的设备上的文件系统类型。语法:umount [选项] 文件系统/挂载点。Linux中的根目录以外的文件想要被访问。

2024-07-25 19:25:00 353

原创 对文件进行操作的指令和用法

文件操作中的指令cat,more,less,taill,grep,find,locate,which,echo的用法及补充

2024-07-25 19:17:59 344

原创 目录操作及指令

目录操作:pwd,ls,cd,mkdir,touch,rmdir,rm,cp,mv的解释已经用法

2024-07-25 19:11:15 379

原创 linux目录,路径,文件类型

根目录下各种目录的作用,绝对路径与相对路径,linux中的系统文件类型

2024-07-25 17:45:26 256

原创 linux网络模式, Ping,ifconfig,netstat,网络模式及网络相关指令

桥接模式,NAT模式,仅主机模式,Ping指令,ifconfig,netstat的指令

2024-07-25 17:28:49 468

原创 用户和用户组的操作指令和对其权限分配

用户,用户组相关操作和权限分配详细讲解

2024-07-25 17:11:50 1108

原创 linux,ubuntu的压缩与解压缩

linux中gzip,bzip2,zip,tar等压缩和解压指令详解

2024-07-25 16:51:06 990

原创 Vim使用及基础命令

vim如何安装和基础命令

2024-07-25 16:40:30 403

原创 c语言基础

c语言程序基本结构,命名规范,标识符等

2024-07-25 13:57:47 543

原创 c语言中各种运算符

c语言中各种运算符(++,——,>,&&, || , ==, !=, 单目,双目,三目)等逻辑运算及优先级

2024-07-25 13:45:01 817

原创 有符号数和无符号数

有符号数是来表示正数、负数、0的整数类型。在内存中,有符号数使用最高位(通常是符号位)来表示正负。如果最高位为0,表示这个数是正数或0,如果最高位为1,表示这个数是负数。其余位用于表示数值本身。在C语言中,整数是可以带符号的(有符号,signed)或不带符号的(无符号,unsigned)。在内存中,无符号数不使用符号位,所有位都用于表示数值。因为,无符号数的范围比有符号数的范围更大。注意:有符号位是默认的,在C语言中,基本整数类型如int,short,long默认为有符号数,除非明确指定为无符号。

2024-07-25 13:15:40 211

原创 进制的转换

辗转相除法:将需要转换的数据不停的除以转换的进制数,直到商为0。借助于二进制,将八进制转换为二进制,将二进制转换为十六进制。借助于二进制,将十六进制转换为二进制,将二进制转换为八进制。我们目前接触到的进制有 二进制、八进制、十进制、十六进制。

2024-07-25 13:10:45 168

原创 常量与变量

常量(数值常量,字符常量,符号常量,字符串常量,空常量),变量,及扩展常见的字符编码

2024-07-25 13:04:22 2298 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除