
C
文章平均质量分 95
qq_33436509
这个作者很懒,什么都没留下…
展开
-
ioctl 获取相关地址及开启和关闭网卡
1,结构体struct ifreq{#define IFHWADDRLEN 6 union { char ifrn_name[IFNAMSIZ]; } ifr_ifrn; union { struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; struct sockaddr ifru_netmask; struct sockaddr原创 2020-05-25 20:56:52 · 1053 阅读 · 0 评论 -
cjson学习
一,cJSON结构体typedef struct cJSON { struct cJSON *next,*prev; /* next/prev allow you to walk array/object chains. Alternatively, use GetArraySize/GetArrayItem/GetObjectItem */ struct cJSON *child; ...原创 2019-11-02 16:50:56 · 283 阅读 · 0 评论 -
c语言中的测试函数(宏)
下面的函数都是c语言的测试函数但实则为宏,头文件为#include <ctype.h>int isalnum(int c);下面的形式都是这样有一个整型参数和一个整型返回值,字符符合函数就返回1否则返回0。//isalnum 测试字符是字母或者是数字 是返回1 否则返回0 //isalpha 测试字符是字母 是返回1 否则0//isascii 测试字符是否是ASCII字...原创 2019-10-21 20:36:23 · 917 阅读 · 0 评论 -
关于时间的几个函数
直接看个例子:#include <stdio.h>#include <time.h>int main(int argc, char **argv){ struct tm *ptr; time_t tt; tt = time(NULL);//1970年1月1日0时到现在的秒数 //gmtime(&tt);//把日历时间转换为格林威治时间 p...原创 2019-10-17 21:49:47 · 551 阅读 · 0 评论 -
strtok,strstr,strchr,strrchr函数详解
1,strtok函数 字符串切割函数函数原型:char *strtok(char *s, char *delim);函数功能:把s字符串按照delim分隔符进行分割。a,第一次调用该函数需要指定第一个参数 以后调用则用NULL代替b,strtok函数实质:strtok在s中找到delim分隔符后用'/0'代替此分隔符,返回值的指向分隔符前面的子串。c,第一个参数需要用数组形式 ...原创 2019-10-15 15:42:40 · 944 阅读 · 0 评论 -
用宏定义新的打印函数
#include <stdio.h>#define my_printf(fmt,...) printf(fmt,##__VA_ARGS__)#define TRACE_CDH(fmt,...)\ printf("%s-%s--->>%s:%s(%d):"fmt, __DATE__,__TIME__,__FILE__,__FUNCTION_...原创 2019-10-19 22:34:07 · 666 阅读 · 0 评论 -
c语言中小数在内存中的存储
转至:https://blog.youkuaiyun.com/tqs_1220/article/details/73550899首先看float和double在内存中是怎么存储的?float:符号位(1位)+指数位(8位)+尾数位(23位)范围:-2^-128 ~2^127 (-3.40E-38~3.40E+38)double:符号位(1位)+指数位(11位)+尾数尾(52位)范围:-2...转载 2018-09-06 15:49:39 · 3482 阅读 · 0 评论 -
fork和printf问题
一,fork函数#include <unistd.h>pid_t fork(void)返回值:-1,失败。子进程返回0,父进程返回子进程的进程ID。父子进程的0~3G用户地址空间,差不多一样。比如数据段,代码段,栈,堆,环境变量、用户ID、宿主目录、进程工作目录、信号处理方式,缓冲区等。父子进程不一样的是:进程ID,父进程ID,fork返回值,进程运行时间,未决信号集,...原创 2018-09-04 16:42:57 · 1118 阅读 · 0 评论 -
常见字符串函数实现
1,strlen①计数法 unsigned int my_strlen1(const char *str){ unsigned int count=0; assert(str); while(*str){ count++; str++; } return count;} ②递归法unsig...原创 2018-08-03 17:47:12 · 235 阅读 · 0 评论 -
const在c和c++中的用法
下面只是针对于基本类型对于标准C来说:const修饰的变量是只读变量,会分配内存空间。但是不能作为左值直接改变。可以通过指针来改变对于现代C编译器来说:会做一些优化,会进入符号表。如果有对内存的操作出现,那么它就不会去符号表取值,而是去内存中取值。这个和C++进入符号表有些不同。对于C++来说:const int a=1;会进入符号表,就算给它分配了空间也不会去内存空间去取值。如果加上...原创 2018-03-30 17:42:43 · 282 阅读 · 1 评论 -
顺序点问题
一,什么是顺序点顺序点是指在程序执行过程中变量值改变最晚的时刻。在程序到达顺序点时,之前所做的一些操作都必须反映到后续访问中。 二,C语言中的顺序点每个完整的表达式结束后 &&,||,?:,以及逗号运算符每个对象计算以后。 函数调用中对所有实际参数的求值完成之后(进入函数体之前)(这里和顺序点没有关系,而是和调用约定有关)三,理解顺序点首先明确一点,后置+...原创 2018-08-27 14:09:46 · 563 阅读 · 0 评论 -
C语言中的可变参数
一,两种形式的可变参数第一种的形式的头文件是<varargs.h>第二种的形式的头文件是<stdarg.h>,是第一种的扩展。区别:varargs.h比stdarg.h更有移植性,能够运行的系统平台也多一些,且更早。 如果要编写一个遵循ANSIC标准的程序,就必须使用stdarg.h。二,varargs.h<varargs.h>中有一些宏...原创 2018-08-26 19:53:26 · 216 阅读 · 0 评论