自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux系统编程

一、Shell脚本配置二、文件(对文件的内容进行读写)三、进程(多任务)四、网络(数据共享)五、HtmlDb(网页和数据库)一、shell与c语言的区别(1)shell编程: 解释型语言 边翻译边执行 擅长文件处理,操作系统管理 开发效率高 cp 1 2 执行效率低 移植性好 (2).c 编译型语言 先编译再执行 擅长数据计算和数据处理 开发效率低

2024-08-03 19:04:19 412

原创 链表和共用体、位运算

一、尾插2.头删3.尾删二、共用体(union 会共同占用相同的内存空间):共用体的大小是其最大成员的大小。可以使用sizeof来获取共用体的大小。:在任何时候,只有最后写入的成员是有效的。因此,读取其他成员时应该小心,以免得到未定义行为。:共用体可以在声明时初始化。:共用体可以嵌套在结构体中,或在其他共用体内部。三、枚举类型(enum)用于定义一组命名整型常量。枚举使得代码更具可读性和可维护性,通常用于表示一组相关的状态或选项。四、typedef(给已有的数据类型起个别名)typedef。

2024-08-02 20:01:03 237

原创 结构体与单向链表

2.(1)无头链表:是一种链表实现方式,它并不使用一个头节点(或哨兵节点)来标识链表的开始,而是直接使用第一个有效节点作为链表的头部。与用一个额外的头节点的链表不同,无头链表的头开始时是一个空指针,指向链表的第一个节点。-----------结构体成员初始化,只初始化一部分成员(.成员名),其他成员自动为0;1. struct (结构体名字)------- 一般标识符第一个字母大写;------------ 结构体成员赋值,“-----------分号不可少;--------- 只能用s1 ,s2。

2024-08-01 18:55:34 261

原创 指向数组、函数、指针的指针

(2) *(a+0) <=> a[0] <=> &a[0][0] -------int * 型。2.二维数组中 int a[][4] = {1,2,3,4,5,6,7,8,9,10,11,12}数组指针 :int (*p)[10] :定义了一个指向数组的指针;三、指向指针的指针(指的是一个指针变量,该变量的值是另一个指针的地址。2.当一个指针数组作为实参传递的时候对应的形参为指针的指针;(1) &a得到一个指向长度为10的一位整形数组的指针。

2024-07-31 18:32:50 264

原创 字符型指针

它的全称是 "memory allocation",用于在程序运行时请求一定数量的内存,并返回一个指向这块内存的指针。用于重新分配已分配的内存块的大小。它可以增加或减少原有内存的大小,并返回一个新的指针。(2)与指针一起使用,可以指定指针指向的内容是常量或指针本身是常量(即无法通过该指针修改它所指向的变量)。的功能,通常用于扩展一个已经分配的数组,通过重新分配内存来实现,同时确保总分配的大小不会溢出。2.返回指针值的函数可以用于管理动态内存、传递数据结构等。3(1).指针可以进行比较(地址值比较);

2024-07-30 19:51:01 244

原创 指针(间接访问)

6.对int *p中的指针p进行p = p+n操作,则P的值会增加n sizeof(基类型);(2)使用指针时要明确此指针指向的目标,否则指针会变成野指针;(3)将偏移好的那部分内存空间当作是一个基类型变量来看;(1)指针的基类型决定了指针所指向的内存区域的类型;(2)从定位初开始向后偏移sizeof(基类型);(1)通过指针变量(p)中的值到内存空间中定位;8.在数组中啊a【i】<=> *(a + i);(1)指针作为参数传递的是变量的地址;1.指针是用来装地址的数据类型;

2024-07-29 17:59:05 186

原创 标识符和预处理命令

(1)静态生存期:是指在程序执行过程中分配内存的区域,其中的变量在程序的整个生命周期内存在,变量的生存期与程序运行周期相同。2.全局作用域(在静态区,可用于函数传参。(3)文件包含:(#include<文件名> #include"文件名")文件包含(Include)是一种通过引入外部文件的方式来组织代码和复用功能的机制。(2)局部变量的生命周期从它们被创建时(当代码块被调用时)开始,到代码块结束时自动销毁。(3)register:用于请求编译器将变量存储在 CPU 的寄存器中, 在cpu中没有地址。

2024-07-27 20:05:46 252

原创 数组作为函数的参数传递

为了提高代码的复用性,把数组封装为函数进行调用,数组名也可以当作形参或实参,传递的是数组首元素地址。(2)数组名作为参数传递时传递的是数组的首元素地址。因此在传参时还应该传递数组的长度。由于实参可以是表达式,而数组元素可以是表达式的组成部分,因此数组元素当然可。以作为函数的实参,与用变量作实参一样,是单向传递,即“值传送”方式。1.字符串数组传参时,不需要传递数组的长度,到(\0)自动结束。二维数组作为参数传递时,要传递数组名和行数rows。(3)数组名作为参数传递可以在被调函数中修改主调函数。

2024-07-26 20:18:31 144

原创 函数的调用

在程序执行时,每当一个函数被调用,系统就会在栈区为该函数分配一定的空间;与栈区不同,堆区的内存管理是由程序员控制的,需要手动分配和释放内存。是计算机内存中的一个区域,用于存放程序中的字符串字面量(即以双引号括起来的字符串)。是计算机内存中的一个区域,用于存放程序中静态分配的变量。当一个函数被调用时,系统为该函数创建一个新的栈帧,用于存储该函数的局部变量、参数、返回地址以及其他相关信息。4.函数的递归调用(循环):在调用一个函数时间接或直接的调用该函数本身,称为函数的递归调用。assert函数是一个宏。

2024-07-25 20:27:34 828

原创 二维 数组(是特殊的一维数组的数组)

被调函数一定是在主调函数之前被声明的 ,另外主函数是main,只要看到main() 就可见主函数了。在调用函数时,主调函数在调用被调用函数时,通过参数向被调用函数传递数据,一般情况下,执行被调用函数时会得到一个函数值,供主调函数使用。(4)所有函数都是平行的,即在定义函数时是分别进行的,是互相独立的。无参函数一般不带回函数值。(3)C程序的执行是从main函数开始的,如是在main函数中调用其他函数,在调用。1. 在定义两个函数时指定函数的类型为void,意为函数无类型,即无函数值,也。

2024-07-24 20:14:45 698

原创 字符型数组

因为二分查找每次查找都可以剔除一半的查找范围,所以相比顺序查找每次一个一个元素查找,查找效率提高了很多。1.字符串:’\0‘字符串结束标志,字符串的存放满足数组存放的三要素(单一性,有序性,连续性)二、字符型数组(用来存放字符数据的数组是字符数组,字符数组中一个元素存放一个字符)确定了该元素所在范围那么范围外的元素就不需要查找了,不断重复上诉过程,直至找到。如果给中间值与给定值相等,则查找成功,返回该元素的下标/索引;11.strcmp(比较两个字符串(比较时不能用关系运算符))

2024-07-23 19:14:11 234

原创 数 组

2.冒泡排序:相邻两个元素两两比较,小的放前,大的放后。就是分成多趟排序,每一趟排序按照需求(升序或降序)把最大或最小的元素排到最后面,每趟排序从第一个元素开始两两比较,大的或小的往后挪,排完一趟后最后一个元素是有序的了,所以下一趟排序最后一个元素不参与排序。这10个元素是:a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

2024-07-22 20:07:56 238

原创 六、循环控制

(2)从循环体中跳转到循环体外,但在C语言中可以用break语句和continue语句跳出本层循环和结束本次循环。continue语句也会终止当前循环,和break语句不同的是,continue语句终止当前循环后又回到循环体的开头准备执行下一次循环。表达式1--循环变量初始化 表达式2--循环条件 表达式3--使趋于循环结束的条件。——————————————(3)又使循环趋于结束的语句。(i

2024-07-20 19:01:33 372

原创 选择结构程序设计

注意事项:(1)switch只针对基本数据类型使用,即switch后面括号内的表达式,其值得类型应为整数类型(包括字符型),也就是(int,char,枚举,bool),对于其他类型,应该考虑其他条件控制语句例如if等.说明 (1)条件运算符的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。(2)条件运算符优先于赋值运算符,因此上面赋值表达式的求解过程是先求解条件。

2024-07-19 20:51:13 229

原创 C程序设计

在函数执行过程中,如果遇到return语句,函数将会立即返回这个值,并结束函数的执行。C程序结构如上图所示,即一个C程序可以由若干个源程序文件(分别进行编译的文件模块)组成,一个源文件可以由若干个函数和预处理命令以及全局变量声明部分组成,一个函数由数据声明部分和执行语句组成。(1)C语言中的赋值号“=”是一个运算符,在其他大多数语言中赋值号不是运算符。(2)关于赋值表达式与赋值语句的概念,其他多数高级语言没有“赋值表达式”这一。C语言的赋值语句具有其他高级语言的赋值语句的一切特点和功能。

2024-07-18 19:34:02 796

原创 【无标题】

(2)实参:实际参数(Actual Parameter),是在调用函数时传递给函数的值。实参可以是常量、变量、表达式、或者函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。(1)形参:形式参数(Formal Parameter),也称为虚拟参数。向左的箭头表示必须转换,向上的箭头表示不同的类型运算时的转换方向。-----当程序运算类型正确但是除数为零时,编译正常运行后。右值:为常数(不可以取地址)(匿名变量为右值)--------赋值。

2024-07-17 18:35:39 333

原创 数据类型

b. 【signed】Int型(有符号基本整型)4字节(二进制32bit最高位符号位)(范围-231----231-1)c.【signed】short【int】(有符号短整型)2字节(二级制16bit)(范围-215---215-1)d.【signed】long【int】(有符号长整型)8字节(二进制64bit)(范围-263---263-1)Unsigned int(无符号基本整型)4字节(二进制32bit)(范围0---232-1)---转二进制:0X123 (0001 0010 0011)

2024-07-16 17:37:46 618

原创 Linux及vi的简单应用

1.1数据类型-基本类型(整形 字符型 浮点型 枚举类型)构造类型(数组类型 结构体类型 共用体类型)指针类型 空类型。cd 改变工作目录(cd -a显示所有目录 cd ..返回上一层目录, . 当前目录 .. 上一级目录)1.2变量和常量(在程序运行过程中是否变化)-变量都有各自的内存空间。1.3Byte(字节)描述存储空间的最小单位(1Byt=8Bit)cp拷贝目录 (把源文件拷贝到目标文件)绝对路径(包含根目录信息,完整的路径)mv移动(剪切)目录文件夹。三、vi/vim的使用。

2024-07-15 18:06:34 151

空空如也

空空如也

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

TA关注的人

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