合集-c语言

摘要:# 1、可变参数函数定义 必需显式定义至少一个参数,不能直接定义`...`。 ```c LOCAL void reset_param(guint num, ...) {} ``` 一般来说,第一个参数传入可变参数的个数。 # 2、可变参数的使用 需要用到`stdarg.h`中的1个结构体和3个宏定义 阅读全文
posted @ 2023-07-31 23:09 NotReferenced 阅读(28) 评论(0) 推荐(0) 编辑
摘要:使用宏变量`__VA_ARGS__`可以将省略号直接传递给另一个函数。 如下: ```c #define println(fmt, ...) \ printf(fmt, __VA_ARGS__);\ printf("\n"); ``` 阅读全文
posted @ 2023-07-30 18:20 NotReferenced 阅读(196) 评论(0) 推荐(0) 编辑
摘要:extern "C"的主要作用是告诉C++编译器使用C语言的链接规则来编译指定的代码。 在C++中,由于支持函数重载,编译器在编译函数时会将函数的参数类型等信息加入到函数名中,而C语言不支持函数重载,编译C语言代码的函数时通常只包含函数名,不加入参数类型。因此,当C++代码需要调用C语言编写的函数时 阅读全文
posted @ 2024-04-23 21:41 NotReferenced 阅读(30) 评论(0) 推荐(0) 编辑
摘要:1、不接收命令行参数 int main(void) {/*...*/} c程序是由系统调用的,main函数返回值代表c程序的执行结果。0代表执行成功,其他值代表执行失败。 2、接收命令行参数 int main(int argc, char *argv[]) {/*...*/} argc表示命令行参数 阅读全文
posted @ 2024-05-24 07:11 NotReferenced 阅读(43) 评论(0) 推荐(0) 编辑
摘要:extern关键字的作用就是告诉编译器,去别的地方找这个函数或者变量的定义。 1、引用另一个文件中的变量 main.c #include<stdio.h> int main() { extern int num; printf("%d",num); return 0; } b.c #include< 阅读全文
posted @ 2024-05-26 21:06 NotReferenced 阅读(33) 评论(0) 推荐(0) 编辑
摘要:#if #if condition 根据condition的值决定是否编译代码 condition中只能有宏和常量 #ifdef 判断宏是否定义,不推荐使用,这是为了兼容以前的写法 #if defined 判断宏是否定义,推荐使用 阅读全文
posted @ 2024-05-26 21:55 NotReferenced 阅读(15) 评论(0) 推荐(0) 编辑
摘要:1、inet_pton #include <arpa/inet.h> int inet_pton(int af, const char *restrict src, void *restrict dst); 将IPv4和IPv6地址从文本转为二进制。(网络字节序) af参数有以下取值: AF_INE 阅读全文
posted @ 2024-07-20 11:38 NotReferenced 阅读(50) 评论(0) 推荐(0) 编辑
摘要:低地址存低位就是小端 低地址存高位就是大端 网络字节序就是大端(TCP/IP) 阅读全文
posted @ 2024-07-20 11:56 NotReferenced 阅读(7) 评论(0) 推荐(0) 编辑
摘要:1、定义 #include <linux/prctl.h> /* Definition of PR_* constants */ #include <sys/prctl.h> int prctl(int op, ...); 基本的线程、进程管理函数。第一个参数决定了进行什么样的操作。 2、具体操作 阅读全文
posted @ 2024-07-25 16:07 NotReferenced 阅读(23) 评论(0) 推荐(0) 编辑
摘要:1、定义时顺序赋值 struct InitMember test = {-10,3.141590,"method one",0.25}; 不能乱序 2、定义时乱序赋值(C风格) struct InitMember test = { .second = 3.141590, .third = "meth 阅读全文
posted @ 2024-07-26 16:07 NotReferenced 阅读(51) 评论(0) 推荐(0) 编辑
摘要:volatile是一个C/C++关键字,它用于告诉编译器当前变量是易变的,需要在每次使用时都从内存中重新获取值,而不是使用缓存中的旧值。 一般来说,对于定义在函数中的自动变量,编译器会尽量利用寄存器来提高访问速度,这样就会使得该变量的值可能被缓存起来,不一定会立即被写入内存。如果这时候要访问这个变量 阅读全文
posted @ 2024-07-30 06:58 NotReferenced 阅读(13) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示