- 博客(58)
- 收藏
- 关注
原创 2025.1.9-3 curses基本内容
cursesLinux库用于开发基于文本终端的用户界面(TUI)。它提供了一种简单而有效的方式来处理终端的输入输出、光标控制、颜色设置等,使得开发者能够创建出交互式、美观且易于使用的文本界面程序。以下是关于curses。
2025-01-09 16:00:06
775
原创 2025.1.8-4 链表插入(后方与前方插入)
p->next放在=号前面,代表p指针指向的下一个指针,是一个动作,放在=号后面,代表p指针的下一个指针,是指一个指针。}//头部引入节点时。
2025-01-08 17:04:19
427
原创 2025.1.8-3 统计链表个数以及链表查找
int cnt;while(head!= NULL){cnt=cnt+1;return cnt;int cnt=0;while(head!=NULL){return 1;//出1说明找到。return 0;
2025-01-08 16:13:28
337
原创 2025.1.8-2 链表静态添加与动态遍历
1)静态添加:在需要的情况下,只需要在代码内不断添加元素即可,但注意要用指针变量来指向下一个元素(结构体),形成一长串。2)动态遍历:运用函数,死循环,还有if语句或者直接循环,可以将链表内所有元素内容打印出来。例如:直接循环void printlink(struct Test *head){ struct Test *point; point = head; while(point != NULL){ printf("%d",point->d
2025-01-08 15:39:13
319
原创 2025.1.8-1 链表(基础内容)
1)类似于,而2)具体:链表是一种常见的基础数据结构,它由一系列节点组成,这些节点通过指针(在一些语言中类似指针的机制)相互连接,形成一个链式结构。
2025-01-08 14:40:13
1304
原创 2025.1.6-3 Linux虚拟机网络配置
VMware 有,分别为。每种模式都有其特点和适用场景,以下为你详细介绍:1. 桥接模式(Bridged)(最重要):用户可以为虚拟机设置静态 IP 地址,也可以通过 DHCP 自动获取 IP,配置方式与真实主机类似。(占用资源高)
2025-01-06 17:52:41
828
原创 2025.1.6-2 Linux与window文件传输方式
2.3)ftp(一种工具),常用的软件有:filezilla(免费),totalcommad,cuteftp。2.1)把windows上的文件通过拖拽的方式直接放入linux桌面内(对文件夹,文档都适用)2.3.1)filezilla运用时要。然后把文件拖拽即可完成传输,可以实现相互传输。1)下载安装vmmare tool(核心,运用它来实现)
2025-01-06 17:13:07
236
原创 2025.1.6-1 linux系统常用指令(超级重要)
1.1)命令行模式:默认此模式,从输入模式回到命令行模式,运用:esc(标志 insert消失)1.2)输入模式:按i(insert)进入,看到insert就可以输入代码。
2025-01-06 16:21:31
1955
原创 2025.1.3-3 函数运用重点
2)函数运用时一定要先分步骤,一步一步的写代码,看看要不要返回值,没有返回值为viod函数类型。3)结构体与结构体指针也可以作为函数来运用,与结构体不同的是{}后有没有句号。
2025-01-03 21:39:37
302
原创 2025.1.3-2 选票系统改写
printf("名字:%s,票数;printf("请输入第%d个候选人的名字:\n");printf("无此人!printf("请输入你要投给谁:\n");//初始化选民信息。
2025-01-03 20:57:09
261
原创 2025.1.3-1 结构体指针变量
printf("t1的cdata值为:%c\n",t1.cdata);//变量名访问,用点运算符。printf("t1的idata值为:\n",t1.idata);//变量名访问,用点运算符。
2025-01-03 20:43:09
219
原创 2024.12.29-4 选票系统
printf("名字:%s,票数;printf("请输入第%d个候选人的名字:\n");printf("请输入你要投给谁:\n");
2024-12-29 21:58:25
403
原创 2024.12.29-3 结构体与数组
printf("姓名:%s,年龄:%d,地址:%s,成绩:%lf\n",arr2[i].name,arr2[i].age,arr2[i].addr,arr2[i].score);//类似与二维数组。
2024-12-29 21:34:13
323
原创 2024.12.29-2 结构体的小应用
else{printf("姓名:%s,年龄:%d,地址:%s,成绩:%lf",stu2.name,stu2.age,stu2.addr,stu2.score);{printf("姓名:%s,年龄:%d,地址:%s,成绩:%lf",stu1.name,stu1.age,stu1.addr,stu1.score);printf("姓名:%s,年龄:%d,地址:%s,成绩:%lf",max.name,max.age,max.addr,max.score);//其中,struct Student相当于int。
2024-12-29 21:17:02
346
原创 2024.12.28-1 字符常用操作函数(API)
/两个要拼接的字符。一般关注返回值为0,表示两个字符相同,不为0的用处不大。puts("请输入字符串");puts("请输入字符串");puts("帅气的我");
2024-12-28 21:47:15
582
原创 2024.12.25-4 动态开辟字符串(4个常用api记住)
* //运用strcpy()函数,原型char *strcpy(char* dest,const char *src);//运用strcpy()函数,原型char *strcpy(char* dest,const char *src);原型:void *malloc(size_t size),分配所需空间,并返回一个指向它的指针。1.2)当想要随意输入多个字符时,运用strcpy与malloc函数,代码如下。
2024-12-25 21:38:21
385
原创 2024.12.25-3 sizeof与strlen区别(很重要)
/计算实际字符长度。p是一个char *,sizeof计算时,得到是计算机用多少字节来表示地址。
2024-12-25 20:44:32
500
原创 2024.12.25-1字符串(基础)
并且不可以这样定义:char *pchar;野指针不可以这样操作。//或者*(pchar+i)char c = 'c';}//运用for循环一个一个字符输出,麻烦。1)就是字符数组(理解起来核心)//字符串的各种定义法。//多字符用双引号,
2024-12-25 20:01:20
176
原创 2024.12.24-6 二级指针(重难点)
1)二级指针不可以直接指向二维数组。(会警告,不兼容)二维数组应该和(*p)[4]相兼容。printf("请输入你要看的学生号数(0,1,2三个中一个):");运用:对成绩的读取(上一道题的重解)
2024-12-24 22:26:47
221
原创 2024.12.24-5 二级指针(多级指针)(基础)
pp访问data的值是:100*/ //最后可以一层一层访问回到最开始的值。printf("pp访问data的值是:%d\n",**pp);3)差异:保存的是指针变量的地址(地址的地址)printf("pp保存的地址:%p\n ",pp);printf("pp本身地址是:%p\n",&pp);printf("p保存的地址是:%p\n ",p);printf("p本身地址是:%p\n",&p);p保存的地址是:000000000061FE1C。
2024-12-24 21:56:30
235
原创 2024.12.24-4指针数组(基础)
基础 与数组指针不同。 1)数组指针: int (*p)[4];这是指向一维数组的指针变量。(由数组做出来的指针) 2)指针数组:若一个数组元素均为指针类型数据,则称为指针数组(用指针做出来的数组)定义:int (*p[4]); 注意与(*p)[4]二者的区别。核心:优先级的问题:[]的优先级比*大,所以前者为先p[4]而后整体变为指针(元素是指针),后者先变指针,而后有四个元素(元素不是指针)。面试可能会考。运用:一般运用
2024-12-24 21:07:04
323
原创 2024.12.24-3 函数指针(运用,体现间接调用的好处)
该题答案没有运用二次函数调用,可以把if内容中的函数运用提取出来,单独用一个函数来出结果。
2024-12-24 17:51:36
310
原创 2024.12.24-2 函数指针(基础)
1)函数地址(函数指针):若程序定义一个函数,则在编译时,该函数分配的。//定义一个指针函数。间接访问运用指针(函数指针)
2024-12-24 17:08:15
157
原创 2024.12.24-1数组指针和二维数组的运用
输出二维数组任意列的数#include <stdio.h>void putArray(int *phang,int *plie){ printf("请输入你要找的数的行:\n"); scanf("%d",phang); printf("请输入你要找的数的列:\n"); scanf("%d",plie);}void printfArray(int (*p)[4],int hang,int lie){ int
2024-12-24 16:28:12
167
原创 2024.12.23-2 二维数组(地址的理解)
1)父子数组:对于a[3][4]来说,a即为父数组的名(地址),其中a[1],a[2],a[0]等为子数组的名(地址)2)偏移:a+1;指的是父数组的偏移,偏移量由子数组元素的量确定,a[0]+1等为子数组的偏移。3)对于子数组,其中a[0]的值为a[0][0]的值,都是该数组的首元素地址4)*a与a[0]意义一致,*(a+0)+1与a[0]+1一致,都是子数组首元素的地址。5)运用:地址的三种表达方式:&a[i][j];a[i]+j;
2024-12-23 20:49:27
543
原创 2024.12.23-指针与数组
异:数组名为指针常量,无法加减,例如:*a++;指针用8个字节来表示一个地址,不管什么类型。指针为指针变量,可以加减。2.2)p+1指的是在p地址的基础上,偏移原地址的量,int型4字节,char型1字节。异:数组用4个字节来表示一个地址;1.1)指针指向数组的首元素地址: int *p;1.2)在c语言中,3)通过指针引用数组元素。
2024-12-23 16:35:39
486
原创 2024.12.22-1 指针的学习(基础)
printf("交换前:data1=%d,data2=%d\n",data1,data2);printf("交换后:data1=%d,data2=%d\n",data1,data2);//c为指向固定内存地址。:把地址的值取出:printf("%d",*(&a));,地址的获取(例如&a),地址唯一,也是变量的代表。printf("请为data1赋值:");printf("请为data2赋值:");为取值运算符,把括号内地址的值取出。
2024-12-22 22:00:31
1048
原创 2024.11.23-6 全局变量的运用
printf("两个班的最高分是%d,最低分是%d,平均分是%f",max,min,aver);printf("请输入第%d班第%d个同学成绩\n",i+1,j+1);//这样要写两个函数,不好,太长了不好。//int min;//这样要写两个函数,不好,太长了不好。//利用外部变量,使用一个函数来输出三个想要的数据。puts("请输入两个班的成绩");
2024-11-23 21:58:47
446
原创 2024.11.23-4 二维数组和函数组合技
或者int arry[][3]后面的列数必须的写(一维数组的个数得定住)(数组中的每一个元素都是数组),
2024-11-23 20:39:41
493
原创 2024.11.23-1数组与函数组合技
数组的首地址是指数组在内存中第一个元素的起始位置的地址。它是程序员可以访问整个数组的基础,通过这个地址加上每个元素的偏移量,就可以访问到数组中的每一个元素。在大多数编程语言中,数组名实际上就是一个指向首元素的指针,所以获取首地址就是取数组名本身。例如,在C语言中,你可以直接打印数组名来得到其首地址。首地址对于动态操作内存以及理解程序如何存储数据至关重要。
2024-11-23 15:10:03
360
原创 2024.11.22-4 递归函数
一定会在函数中运用if语句来确定初值,且其他情况的算法用else来确定。puts("请输入你想要的第几个数的阶乘");printf("最后的值为:%d",ret);long int类型的字节也是4个字节。除了一些特殊情况,例如n!
2024-11-22 21:36:14
354
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅