标签: C

11 篇文章


Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-10
标准函数库 <stdlib.h> int abs(int value); long int labs(long int value); div_t div(int numerator, int denominator); ldiv_t ldiv(long int numer, long int denom); abs和labs返回参数的绝对值…

Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-9
输入/输出函数 打开流 FILE *fopen(char const *name, char const *mode)' name是打开的文件或设备的名字,mode参数提示流是用于只读、只写还是读写,是文本流还是二进制流。 读取 写入 添加 文本 "r" "w" "a" 二进制 "rb" "wb" "ab" 始终需要检查fopen函数的返回值 fr…

Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-8
预处理器 预定义符号 符号 示例 含义 __FILE__ "a.c" 进行编译的源文件名 __LINE__ 5 文件当前的行号 __DATE__ "Jan 1 1999" 文件被编译的日期 __TIME__ "18.11.22" 文件被编译的时间 __STDC__ 1 …

Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-7
高级指针专题 函数指针 int f(int); int (*pf)(int) = &f; 第二个声明创建了函数指针 pf ,并把它初始化为指向函数 f 初始化表达式中的 & 操作符是可选的,因为函数名被使用时总是由编译器把它转换为函数指针 int ans; ans = f(2); ans = (*pf)(2); ans = pf(2…

Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-6
结构体 注意: struct { int a; char b; } x; struct { int a; char b; } y[20], *z; 这两个声明被编译器当作两种不同的类型,即使他们成员列表相同,因此z = &x;是非法的。 typedef 声明 typedef struct{ int a; char b; } Simple; …

Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-5
字符串函数 复制字符串 char *strcpy(char *dst, char const *src); strcpy无法判断目标字符数组的长度,必须保证有足够的空间容纳需要复制的字符。 连接字符串 char *strcat(char *dst, char const *src); 函数的返回值 上面两个函数将返回第一个参数的拷贝,就是一个指向目…

Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-4
数组 数组名是该数组类型的常量指针,不能被修改。数组名只有在两种情况下,不用常量指针的来表示: * 当数组名作为 sizeof 操作符的操作数 * 当数组名作为单目操作符 & 的操作数 下标引用与间接访问完全相同 arrar[subscript] *(array + subscript) PS:在进行指针加法时会对加数进行调整! 2[arr…

Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-3
函数 可变参数列表 stdarg.h中的stdarg宏实现可变参数列表,它是标准库的一部分。这个头文件声明类型 va_list 和三个宏 va_start\va_arg\va_end . 示例: #include <stdarg.h> float average(int n_values, ... ) { va_list var_arg…

Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-2
指针 常见错误,使用未初始化的指针 int *a; ... *a = 12; NULL指针 NULL指针是一个特殊的指针变量,表示不指向任何东西,要使一个指针变量为NULL,可以给它赋一个零值,为了测试一个指针变量是否为NULL,可以将它与零值进行比较。机器内部而言,NULL指针的值可能与此不同,编译器负责零值和内部值之间的翻译转换。 对一个NUL…
嵌入式C代码编写规范
文章来源 痞子衡嵌入式-知名半导体MCU大厂软件开发C代码规范 我觉得值得收藏和遵循,将要点排版一下转载到博客。 基本排版格式 需要以4个空格为单位的缩进. 坚决不用Tab键,要用空格键.(个人喜欢用Tab) 所有文件结尾必须空一行. 文本文件必须用UTF-8编码. 每一行不能超过100个字符. 文档和注释 恰当地进行代码注释. 关于注释长度没有具…