C /C++
文章平均质量分 50
山农
做好一件事,到最好的那一部分人。
展开
-
宏定义#define和类型定义typedef区别
先用我的话简单介绍一下:宏定义就相当于替换,在预编译时进行替换,编译时候所有宏定义的代码改变为被替换的代码,不限制任何代码,都可以进行宏定义;类型定义不能简单理解为替换,可以这样理解,这相当于给原来的所定义的类型,一个全新的名字,以后这个名字就代表u俺来的类型;用代码解释如下:#define int_ptr int *int_ptr a, b;原创 2017-05-24 20:57:13 · 974 阅读 · 0 评论 -
=号运算符,printf函数,进制输出的例题详解
char a='A'; int b=20;printf ("%d,%o",(a=a+1,a+b,b),a+'a'-'A',b) 首先,应该说明的是在不同的编译环境中结果是不一样的。 在VC++6.0中的规则: printf函数的执行顺序是由右到左的举个例子1:int a=65,b=20;printf("%d,%d\n",b=a+1,a=a+1);原创 2017-08-05 13:08:11 · 515 阅读 · 0 评论 -
strtoc函数原码剖析
strtoc函数原码剖析先用自己的语言描述一下函数运作的过程(相信这是了解此函数最好的方法):原型:char *strtok(char *s, char *delim);功能:分解字符串为一组标记串。s为要分解的字符串,delim为分隔符字符串。说明:首次调用时,s必须指向要分解的字符串,随后调用要把s设成NULL。 strtok在s中查找包含在delim中原创 2017-08-19 21:04:11 · 504 阅读 · 0 评论 -
C语言位段用法详解
C语言位段用法详解【c语言】位段赋值的例子// 位段赋值的例子位段使用,不会影响申请空间的大小,只是在空间申请后,存放变量时按所定义位段大小提取;之后会压缩申请多余空间。例:#include int main(){unsigned char puc[4];struct tagPIM{unsigned char ucPi原创 2017-07-28 20:15:03 · 854 阅读 · 0 评论 -
getopt函数,命令选项解析函数的分析
Linux下getopt()函数的使用简述:在linux下我们都熟悉,假设我的程序编译后生成可执行文件为cct,在自己编译的程序运行前我们会输入./cct -选项 + 参数(可有可无),而这里的选项和参数将被传入给main函数,使用getopt()函数进行解析,和参数匹配等从而发挥用户想达成的作用;具体用法解释如下:getopt()函数包含于unistd.h头文件中,是用来解析命令原创 2017-09-26 17:12:24 · 763 阅读 · 0 评论 -
IO复用(select)代码实现
IO复用:IO复用说白了就是通过这种机制,只需要使用一个进程或线程就可以去管理多个套接字描述符,去实现不同套接字的读写。与多进程和多线程技术相比,I/O多路复用技术的最大优势是系统开销小,系统不必创建进程/线程,也不必维护这些进程/线程,从而大大减小了系统的开销。select,poll,epoll都是IO多路复用的机制。select,poll,epoll本质上都是同步I/O原创 2017-11-30 21:30:20 · 714 阅读 · 0 评论 -
非常好的一篇对linux信号(signal)的解析 (转载)
Linux信号(signal) 机制分析转载至:https://www.cnblogs.com/hoys/archive/2012/08/19/2646377.html【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。转载 2017-12-19 17:41:38 · 16062 阅读 · 0 评论 -
LINUX(socket)网络编程部分头文件归纳解释
头文件解释归纳原创 2017-12-19 10:40:59 · 1197 阅读 · 0 评论 -
setsockopt()函数解析(转载)
setsockopt() 介绍setsockopt()函数用于任意类型、任意状态套接口的设置选项值。尽管在不同协议层上存在选项,但本函数仅定义了最高的“套接口”层次上的选项。选项影响套接口的操作,诸如加急数据是否在普通数据流中接收,广播数据是否可以从套接口发送等等。设置套接字的选项。#include int setsockopt(int s,int level,int op转载 2017-12-19 11:16:47 · 315 阅读 · 0 评论 -
可变参函数对变参的取值工具(va_start,va_arg,va_end)
本文主要介绍va_start,va_arg,va_end的使用及原理。在以前的一篇帖子www.cnblogs.com/hanyonglu/archive/2011/04/19/2020738.html详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类...转载 2018-02-28 11:22:15 · 321 阅读 · 0 评论 -
const
const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。const关键字的作用主要有以下几点:(1)可以定义const常量,具有不可变性。 例如: const int Max=100; int Array[Max]; (2)便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。例如: void f(const int i) { ………} 编译器就会知道i...原创 2018-03-12 21:29:40 · 155 阅读 · 0 评论 -
C++的门道(一些C++的关键坑)
C++的门门道道【导语】 C++是一门被广泛使用的系统级编程语言,更是高性能后端标准开发语言;C++虽功能强大,灵活巧妙,但却属于易学难精的专家型语言,不仅新手难以驾驭,就是老司机也容易掉进各种陷阱。 本文结合作者的工作经验和学习心得,对C++语言的一些高级特性,做了简单介绍;对一些常见的误解,做了解释澄清;对比较容易犯错的地方,做了归纳总结;希望借此能增进大家对C++语言了解,减少编程出错,提...转载 2019-02-21 20:38:02 · 2177 阅读 · 0 评论 -
c中scanf和gets,puts混合例题的理解;
c中scanf和gets,puts混合使用的理解;例如:void main(){char s1[10],s2[10],s3[10];scanf("%s",s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3); getch();}如果输入是:aaa/enter/bbb/enter,会有怎样的输出原创 2017-08-05 13:00:25 · 762 阅读 · 0 评论 -
结构体联合体的字节对齐问题详解:
结构体联合体的字节对齐问题详解:1.字节对齐的原因解释 比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)如果存放在偶地址开始的地方,那么一个读周期就可以读出这32bit,而如果存放在奇地址开始的地方,就需要2个读周期,并对两次读出的结果的高低字节进行拼凑才能得到该32bit数据。 为了提高效率,就有了字节对齐。原创 2017-07-27 13:53:30 · 1361 阅读 · 0 评论 -
字符串常量,指针,数组,[],*各关系梳理
字符串常量,指针,数组各关系梳理1)在C语言中没有专门的字符串类型,但存在字符串常量,字符串常量存放在常量区,不可修改;例:char* str = “woshini”; 这是申请一个字符串常量“woshini”,双引号作用是返回所开辟空间(常量区)的首地址,str指向这个字符串常量,不可修改; char dest[] = “woshini”; 看到原创 2017-07-31 21:31:59 · 427 阅读 · 0 评论 -
C语言,输出格式,printf函数输出格式用法
d on 2009-11-01 22:48 放飞自我 阅读(23631) 评论(1) 编辑 收藏 符号 作用 ────────────────────────── %d 十进制有符号整数 %i 输入整数 ,可以是带前导0的八进制数或0x的十六进制数 %u转载 2017-05-24 19:27:28 · 1509 阅读 · 0 评论 -
转义字符的多种情况理解
一. strlen与sizeof的意义sizeof是C/C++中的一个关键字,不是函数,简单的说其作用就是返回一个对象或者类型所占的内存字节数。strlen()是一个函数,求一个字符串的有效长度,strlen函数的结束条件是遇到\0结束计数。二.用sizeof求一个字符串分为几种情况:A.\后面一般跟的是八进制数如 \000 \377 \378B.\也可跟16进制如\x原创 2017-05-27 20:21:56 · 808 阅读 · 0 评论 -
C的几点细节知识点
自己初学总结的几点认为重要但常常被忽略的几点知识:(1)自加,自减运算符;后自加,后自减运算符在不同的编译环境中,进行实际运算的节点是不同的,可以是后自加或者后自减后的第一个分号处,也可以是在之后的第一个逗号后。所以在遇到一个新的环境后,可以先编程试试。(2)size of()的认识;很多初学的同学都会认为这是一个函数,其实不然,size of()是一个运算符,并不是函数,它等原创 2017-03-20 21:28:26 · 302 阅读 · 0 评论 -
C的几点知识点总结
C语言的几点知识点见解原创 2017-03-27 23:29:56 · 281 阅读 · 0 评论 -
C语言指针相关定义的练习题及答案
C语言指针定义方面几点练习原创 2017-04-05 22:45:23 · 3722 阅读 · 0 评论 -
自己实现的库函数(memset,memcmp,memcpy,memmove)
几个重点内存函数的自己实现库函数的理解内存函数的更深一步了解转载 2017-04-16 11:49:33 · 788 阅读 · 0 评论 -
C语言字符串相关知识点
C语言字符串相关知识点原创 2017-04-16 21:08:12 · 1119 阅读 · 0 评论 -
C语言几点知识点总结
C语言 指针 函数 知识点原创 2017-05-01 17:37:48 · 323 阅读 · 0 评论 -
C的几点易错点,知识点梳理
C的几点易错点,知识点梳理原创 2017-05-21 18:41:50 · 509 阅读 · 0 评论 -
fscanf函数详解
fscanf()函数详解函数名: fscanf功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。用 法: int fscanf(FILE *stream, char *format,[argument...]);int fscanf(文件指针,格式字符串,输入列表);for examp转载 2017-05-04 11:33:10 · 18626 阅读 · 3 评论 -
字符串常量
字符串常量 当一个字符串常量出现在表达式中时,它的值是一个指针常量。编辑器会把这些指定的一些字符的拷贝存储于内存的某一个位置,并存储一个字符的指针。和数组名用于表达式时的处理相似,它的值是指针常量。这个时候我们可以对他们两个进行下标引用,间接访问以及指针运算。(用数组名进行这样的运算你可能已经熟悉,下面让我们看看,对字符串常量的一些操作吧!)原创 2017-06-03 21:43:54 · 434 阅读 · 0 评论 -
升级https总结
实时流水升级https总结文章:背景:实时流水系统作为计费系统的相关联辅助系统,主要负责对实时交易流水的存储查询和推送业务或相关系统进行逻辑处理等。相关推送模块之前只支持http,作为外部通知模块,关键路径推送用户交易信息,需要更加安全可靠的机制保证信息传输的安全可靠,需要支持https。升级方案:curl+openssl+签名。一般curl库只支持http,需要openssl库配合cur...原创 2019-03-16 11:46:41 · 315 阅读 · 0 评论