C语言
文章平均质量分 62
Elec_z
掘金:https://juejin.cn/user/1830044492633544
简书:https://www.jianshu.com/u/91b91f7dd665
展开
-
C语言网络编程探秘
最近在阅读Redis源代码的网络IO模型,于是想写一篇socket通信的文章,以总结一下。但是我又不想自己从头写,毕竟从写例子到组织语言需要耗费太多的时间,而且我组织的语言通常比较啰嗦。我想到我平时经常用到AI编程工具,于是我在`百度文心快码`、`腾讯云 AI 代码助手`、`MarsCode AI `提出了以下问题,要他们写一篇关于C语言网络编程的博客,本文就是在这三个AI编程工具写的博客基础上做的一些修改,并将举的例子在本地运行了。原创 2024-10-29 14:09:32 · 877 阅读 · 0 评论 -
C语言的预处理指令
本文通过示例介绍了C语言的宏定义和条件判断两个预处理指令的使用方法。原创 2024-10-14 19:18:11 · 1076 阅读 · 1 评论 -
悬空指针与野指针
悬空指针(dangling pointer)在C语言中,调用free§函数会释放p指向的内存块,但是不会改变p本身。如果忘记了p不再指向有效内存块,混乱可能随即出现。If a pointer still references the original memory after it has been freed, it is called a dangling pointer.char *p = malloc(4);...free(p);...strcpy(p, "abc"); // wr原创 2021-08-05 10:23:02 · 178 阅读 · 0 评论 -
【转载】__attribute__ ((__packed__))关键字
转载于: https://blog.csdn.net/u012308586/article/details/90751116不想要字节对齐的时候,有没有办法取消字节对齐?答案是可以,就是在结构体声明当中,加上__attribute__ ((packed))关键字,它可以做到让我们的结构体,按照紧凑排列的方式,占用内存。来段实际代码:#include <stdio.h>#include <iostream>using namespace std;struct test1转载 2021-08-01 22:50:47 · 254 阅读 · 0 评论 -
C语言弹性数组成员
假设需要定义一个结构,这个结构包括一个len字段和一个data字段。分别表示这个数据的长度和对应的数据。我们一般有以下几个方法这样做。引言方法一:定长数组第一种方法就是使用定长数组。即对数组设置一个足够大的缓冲区。如:struct vstring1 { int len; char data[N];};其中N是一个表示字符串最大长度的宏。考虑到字节对齐,则这个结构体的大小 大于等于:sizeof(int) + sizeof(char) * N;这样做既限制了我们使用字符串的原创 2021-08-01 22:31:36 · 720 阅读 · 0 评论 -
浮点数的范围和精度
IEEE标准提供了两种主要的浮点数格式: 单精度(32位)和双精度(64位)。分为三个部分:符号、指数和小数。指数部分决定了浮点数的范围。而小数部分的位数决定了精度。(见下图)单精度中,指数长度为8位,小数部分占23位。由于是有符号型,所以对应的指数范围是-128~128。所以单精度的范围是-2128到2128,约等于-3.40 * 10^38 至 3.40 * 10^38(或者写成 -3.40E38 ~ +3.40E38)。由于小数部分占23位,而2^23=8388608。对应的10进制是7位。所以原创 2021-07-25 15:52:10 · 18860 阅读 · 5 评论