![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C 知识积累
水无声风无痕
这个作者很懒,什么都没留下…
展开
-
C语言常用编程技巧-结构体数组
本文主要用来记录C语言常用编程技巧,完成一下目的:1、函数指针如何定义使用;2、结构体数组如何定义使用;3、callback 方法使用技巧;以下代码为在ubuntu 系统进行编译,文件名为 struct.cpp通过下面指令进行编译,生成可执行文件 structgcc struct.c -o struct通过终端执行 ./struct 即可执行程序#include <stdio.h>//定义方法,对应 cmd_handler_t.cbint add_h原创 2022-05-11 10:46:20 · 275 阅读 · 0 评论 -
Linux C 计算文件夹大小、数目(包括子目录、文件)
Linux C 计算文件夹大小数目(包括子目录、文件)自己手工码的,并测测试可以通过。#include #include #include #include #include #include /*dirname: 要统计的文件夹路径返回组: 计算的所有文件的数目(包括文件合目录)*/long get_file原创 2015-09-18 20:29:52 · 4064 阅读 · 0 评论 -
C语言实现md5校验
#include#include#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))#define H(x, y, z) ((x) ^ (y) ^ (z))#define I(x, y, z) ((y) ^ ((x) | (~z)))转载 2015-08-05 11:46:11 · 1905 阅读 · 0 评论 -
linux C语言实现递归删除文件文件夹功能
static int remove_dir(const char *dirname){ DIR *dir; struct dirent *entry; char path[PATH_MAX]; dir = opendir(dirname); if (dir == NULL) { LOGE("opendir %s faile转载 2015-08-31 19:49:44 · 4510 阅读 · 0 评论 -
C语言中最常用标准库函数
标准头文件包括: 一、标准定义() 文件里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,都会被自动包含进来。 这个文件里定义: l 类型size_t (sizeof运算符的结果类型,是转载 2014-04-25 18:29:20 · 881 阅读 · 0 评论 -
C/C++ 内存管理
1、malloc()malloc()函数用来分配内存:将总共需要的字节数作为参数传递给该函数,返回值是指向最新分配的内存的指针,而如果内存没有分配好,则返回值是NULL。malloc()的使用技术:some_type *pointer;pointer = malloc(count * sizeof(*pointer));注:(1)这个方法保证mall转载 2014-02-28 09:38:13 · 693 阅读 · 0 评论 -
嵌入式开发基础----register和volatile关键字
register: 在函数内部定义变量时,默认是auto类型,即分配给变量内存。如果定义一个变量用register关键字,那么编译器尽可能把变量存放在CPU内部寄存器中,这样就不必通过内存寻址来访问变量,提高访问效率 volatile: 这个是嵌入式开发必须知道的。用volatile修饰变量或地址,相当于告诉编译器这个值会随时发生变化,每次使用都要去内存中重新读转载 2013-07-20 10:00:29 · 671 阅读 · 0 评论 -
typedef int Myfunc(const char*, const struct stat *, int)问题的思考
typedef int Myfunc(const char*, const struct stat *, int)问题的思考[原创]APUE.2e程序清单4-7举例分析分析apue2e上的程序清单4-7 递归降序遍历目录层次结构,并按文件类型计数 。分析环境:FreeBSD 6.2-RELEAS转载 2013-07-03 14:06:38 · 1717 阅读 · 0 评论 -
C语言位域精解
C语言位域精解有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对转载 2013-06-30 11:31:08 · 877 阅读 · 0 评论 -
assert()函数用法总结
assert()函数用法总结assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort转载 2013-07-12 14:26:20 · 643 阅读 · 0 评论 -
int argc char *argv[]
int main(int argc,char* argv[])详解argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数,比如: int main(int argc, char* argv[]) { int i; for (i = 0; i转载 2013-04-17 15:36:27 · 521 阅读 · 0 评论