![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 52
weixin_38849487
记录学习笔记与大家分享,内容来源于网络以及自己的实践不敢谈经验。
展开
-
c语言--跳出continue、break
对于 for 循环,continue 语句执行后自增语句仍然会执行。while 循环,continue 语句重新执行条件判断语句。C 语言中的 continue 语句有点像 break 语句。但它不是强制终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。原创 2024-03-27 15:20:51 · 279 阅读 · 0 评论 -
linux c多线程优先级
需要注意的是,只有具有足够特权的用户才能设置线程的优先级。另外,设置线程优先级需要谨慎,不当的设置可能会影响系统的稳定性和响应性。需要注意的是,如果要使用实时调度策略(如 SCHED_FIFO 和 SCHED_RR),则需要具有足够的特权或者需要将程序编译为实时程序。在程序运行时,你可以观察到设置了最高优先级的线程会先执行,然后才是默认优先级的线程。在这个示例中,我们创建了3个线程,并为其中奇数号线程设置了最高优先级。以下是一个简单的示例,演示了在 Linux C 中使用多个线程并设置不同优先级的过程。原创 2024-01-11 15:15:14 · 591 阅读 · 0 评论 -
linux链表应用2
函数返回了头节点,而不是通过指针传递的方式进行修改。遍历链表,找到需要删除的节点。如果链表为空或者要删除的节点是头节点,需要单独处理。类型的参数,这样可以直接修改参数传入的指针的指向,以修改链表的头指针。另外,要删除的节点通过。结构体中字段的顺序进行了调整,以遵循良好的内存对齐原则,提高内存使用效率。将要删除的节点从链表中移除,需要修改前一个节点的。删除节点后,记得释放该节点的内存,防止内存泄漏。进行匹配,你可以根据实际情况使用其他方式进行匹配。指针,将其指向要删除节点的下一个节点。原创 2023-12-08 17:30:53 · 371 阅读 · 0 评论 -
linuxc语udp发送程序
以下是一个基于UDP通信的C程序,用于发送含有指定格式的数据包。该程序把数据分成若干个包,每个包包含4字节数据包头+数据长度+数据内容,每个包最大8192字节。函数中,我们传递了套接字文件描述符、服务器地址结构体、要发送的数据以及数据长度作为参数。当涉及到发送数据包的复杂操作时,封装功能函数是一个很好的实践。此程序假设你已经有了要发送的数据,并能够计算出数据的长度。分别代表了目标的IP地址和端口号,你需要根据实际情况进行替换。函数进行测试,也可以在其他需要发送UDP数据包的地方复用。原创 2023-12-08 09:55:02 · 288 阅读 · 0 评论 -
基于方向键实现矩阵选择
要实现上下左右OK五个按键来操作一个3x4矩阵,您可以使用一个二维数组来表示该矩阵,并利用按键输入来进行矩阵操作。这个示例与之前的示例非常相似,只是调整了矩阵的行和列的顺序,以适应4x3的矩阵。要实现上下左右OK五个按键来操作一个4x3矩阵,您可以按照类似的思路进行编程。函数中,我们通过一个循环来接受用户的按键输入,并根据选择调用相应的按键操作函数或打印矩阵的和。函数分别实现了上、下、左、右按键的移动操作,将矩阵按指定方向进行移动。在这个示例中,我们定义了一个3x4矩阵。,以及相应的按键操作函数。原创 2023-12-05 10:45:30 · 257 阅读 · 2 评论 -
C语言链表使用
【代码】C语言链表使用。原创 2023-11-24 16:30:58 · 60 阅读 · 0 评论 -
计算读取速度
函数来获取开始时间和结束时间,并计算总耗时。通过总字节数和总耗时计算出读取速度。请注意,在示例代码中,你需要将。函数打开指定文件,并以二进制模式(“rb”)读取文件。要在Linux下使用C语言读取指定文件并计算读取速度,你可以使用。函数读取文件内容到指定的缓冲区,并将已读取的字节数累加到。你可以根据需要在循环中处理读取的数据。替换为你要读取的文件路径。函数来读取文件,并使用。在示例代码中,我们使用。原创 2023-11-10 11:07:54 · 117 阅读 · 0 评论 -
linux字符串处理
feof()是检测流上的文件结束符的函数,如果文件结束,则返回非0值,否则返回0。原创 2023-08-28 11:43:12 · 1121 阅读 · 0 评论 -
linux多线程编程
【代码】linux多线程编程。原创 2023-08-31 10:09:04 · 98 阅读 · 0 评论 -
花生壳穿透
花生壳远程效果展示:客户端通过链接花生壳映射出的地址和端口可以实现外网访问。服务器(127.0.0.1电脑本机)创建socket链接的地址是127.0.0.1端口22。注意:花生壳建立映射链接模板选择TCP-SSH模板,端口号自动填写成22不用改。如果选择window远程模板实测无法链接(不要踩坑!!!!!!)原创 2022-11-15 21:29:57 · 78 阅读 · 0 评论 -
Linux_UART代码
串口读写原创 2022-10-17 11:08:58 · 661 阅读 · 0 评论 -
Linux_C_tcp/ip通信
3.bind函数出现Cannot assign requested address。1.Connection refused: connect服务端没有开启。原创 2022-10-14 10:08:43 · 742 阅读 · 0 评论 -
下载资源地址
系统镜像链接VS2017在线安装链接。原创 2022-08-01 16:43:49 · 54 阅读 · 0 评论 -
银河麒麟开机自启动程序配置
开机自启动配置原创 2022-07-14 10:45:44 · 3259 阅读 · 0 评论 -
Linux读写txt文件
Linux操作文档原创 2022-06-24 16:30:35 · 5506 阅读 · 0 评论 -
Linux环境下的C语言和shell编程
Linux编程原创 2022-06-24 11:21:50 · 1894 阅读 · 0 评论 -
C语言——二级指针
#include <stdio.h>void getSeconds1(unsigned long **par){ printf(" *par =: %ld\n", **par );}void getSeconds2(unsigned long *par1){ getSeconds1(&par1);}int main (){unsigned long sec; sec=10; getSeconds2( &sec ); re.原创 2022-01-20 14:02:08 · 268 阅读 · 0 评论 -
C语言——typedef vs #define
#define 是 C 指令,用于为各种数据类型定义别名,与 typedef 类似,但是它们有以下几点不同:typedef 仅限于为类型定义符号名称,#define 不仅可以为类型定义别名,也能为数值定义别名,比如您可以定义 1 为 ONE。typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的。...原创 2022-01-19 15:03:02 · 374 阅读 · 0 评论 -
C语言——字符串
在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。空字符(Null character)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。定义一维数组和字符串的效果是一样的。#include <stdio.h> int main (){ char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};原创 2022-01-19 13:26:41 · 87 阅读 · 0 评论 -
C语言——从函数返回指针
函数返回指针#include <stdio.h>int *getRandom( ){ static int r[10]; int i; for ( i = 0; i < 5; ++i) { r[i] += i; printf("%d\n", r[i] ); } return r;//返回的实际是数组r的首地址} /* 要调用上面定义函数的主函数 */int main (){ /* 一个指向整数的指针原创 2022-01-19 11:58:41 · 7259 阅读 · 0 评论 -
C语言结构体—关键字struct
#include <stdio.h>#include <string.h> struct Books{ char title[50]; char author[50]; char subject[100]; int book_id;};struct Bok//定义结构体的同时给结构体赋值{ char title[50]; char author[50]; char subject[100]; int b原创 2021-12-22 16:24:07 · 1155 阅读 · 0 评论 -
C语言原码、反码、补码
原码、反码和补码数据在计算机中是以其补码形式存储和运算的。正数的原码、反码、补码均相同。原码:用最高位表示符号位,其余位表示数值位的编码称为原码。其中,正数的符号位为 0,负数的符号位为 1。负数的反码:把原码的符号位保持不变,数值位逐位取反,即可得原码的反码。负数的补码:在反码的基础上加 1 即得该原码的补码。例如:+11 的原码为: 0000 1011+11 的反码为: 0000 1011+11 的补码为: 0000 1011-7 的原码为:1000 0111-7 的反码为:111原创 2021-10-29 12:08:30 · 343 阅读 · 1 评论 -
C语言变量及类型转换
使用强制类型转换运算符把一个整数变量除以另一个整数变量,得到一个浮点数#include <stdio.h>int main(){ int sum = 17, count = 5; double mean; mean = (double) sum / count; printf("Value of mean : %f\n", mean ); //printf("Value of mean : %d\n", mean ); //是不可以执行的 p.原创 2021-10-21 14:39:33 · 728 阅读 · 0 评论 -
C语言关键字存储类型static
static 存储类static 存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。因此,使用 static 修饰局部变量可以在函数调用之间保持局部变量的值。static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内。全局声明的一个 static 变量或方法可以被任何函数或方法调用,只要这些方法出现在跟 static 变量或方法同一个文件中。#include <stdio.h>.原创 2021-10-21 13:44:53 · 95 阅读 · 0 评论 -
C语言关键字
一、C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。1、数据类型关键字(12个):(1) char :声明字符型变量或函数(2) double :声明双精度变量或函数(3) enum :声明枚举类型(4) float:声明浮点型变量或函数(5) int: 声明整型变量或函数(6) long :声明长整型变量或函数(7) short :声明短整型变量或函数(8) signed:声明有符号类型变量或函数(9) struct:原创 2021-10-21 13:29:47 · 80 阅读 · 0 评论 -
sizeof strlen 区别
#include <stdio.h>#include <string.h>int main (){ char str[50]={0x01,0x02,0x03}; int len; printf("strlen(str) = %d\n",strlen(str)); printf("sizeof(str) = %d\n", sizeof(str)); return(0);}原创 2021-10-21 12:27:52 · 71 阅读 · 0 评论 -
C 库函数 - memcpy()
C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字节到存储区 str1。link.https://c.runoob.com/compile/11/#include <stdio.h>#include <string.h> int main (){ char src[50] = "1234567890"; char *s="123456"; char d原创 2021-09-06 14:35:25 · 219 阅读 · 0 评论 -
C语言for循环使用
FOR循环#include <stdio.h>#include <string.h>![在这里插入图片描述](https://img-blog.csdnimg.cn/3f6afaf16274428eb0d0471ed288b4e7.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAd2VpeGluXzM4ODQ5NDg3,size_20,color_FFFF原创 2021-09-03 15:29:59 · 186 阅读 · 0 评论 -
指针、数组1
#include <stdio.h>#include <string.h>/* 函数声明 */void func1(void); static int count=10; /* 全局变量 - static 是默认的 */ int main(){ char *p="zhang"; char *q; p=&p[1]; printf("%s,%c,%c\n",p,*p,*(p+2)); memcpy(q,p+1,3); ...原创 2021-07-29 11:11:38 · 80 阅读 · 1 评论 -
VS2017下载链接
VS2017下载链接@TOC欢迎使用Markdown编辑器https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Professional&rel=15&rr=https%3A%2F%2Fdocs.microsoft.com%2Fzh-cn%2Fvisualstudio%2Fproductinfo%2Fvs2017-system-requirements-vshttps://原创 2021-04-13 08:54:36 · 557 阅读 · 0 评论