编程
文章平均质量分 65
温人之周.
这个作者很懒,什么都没留下…
展开
-
结构体位域和__attribute__ ((__packed__))
1) 如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将紧邻前一个字段存储,直到不能容纳为止。位域是一种节省空间的数据结构,是把一个数据类型按照二进制(二进位)划分为几个不同的区域,并说明每个区域的位数。2)如果相邻位域字段的类型相同,但其位宽之和大于类型的sizeof大小,则后面的字段将从新的存储单元开始。3)如果相邻的位域字段的类型不同,则各编译器的具体实现有差异,不建议使用,也没啥使用的必要。比如有一个字节,每一位表示一个开关状态,就可以使用位域,解析也方便。原创 2023-07-08 15:58:30 · 11393 阅读 · 0 评论 -
函数指针的使用
注意,尽管 shapes 数组中的元素类型为 shape_t *,但我们仍然可以调用每个元素的 draw 函数,因为 circle 和 rectangle 都是从 shape_t 派生出来的,它们都包含一个 draw 函数指针。接着,我们定义了一个函数指针数组 operations,其中的每个元素都是一个 operation_func_t 类型的函数指针,分别指向 add、subtract、multiply 和 divide 函数。这种数组可以用于实现一个分派表,根据输入参数的不同,动态地调用不同的函数。原创 2023-07-08 15:16:57 · 14242 阅读 · 0 评论 -
正则表达式
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种强大的文本处理工具,它可以用来查找、匹配和替换文本中的特定模式。使用正则表达式可以极大地简化文本处理的过程,例如从文本中提取特定的信息、验证数据的格式、过滤无效的输入等。原创 2023-07-06 18:46:59 · 11331 阅读 · 0 评论 -
C语言结构体的声明和定义
原创 2021-12-25 16:53:17 · 27818 阅读 · 14 评论 -
函数指针介绍
一、函数指针和指针函数 先说定义: 函数指针:首先是一个指针,这个指针指向一个函数 指针函数:首先是一个函数,这个函数的返回值一个指针 看如下代码:int *test(int a,int b) 由于* 的优先级低于() 的优先级,因而test首先和后面的() 结合,也就意味着,test是一个函数。即:int *(test)(int a,int b) 然后这个函数的返回值的类型是 int * 即:指向int类型的指针。 再看如下代码:int (*test)(int a,原创 2021-12-04 10:04:18 · 15484 阅读 · 0 评论