![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言剖析
Raintooo
这个作者很懒,什么都没留下…
展开
-
C语言剖析---字符串的问题
C语言剖析—字符串的问题参考自狄泰 C语言进阶先看下面代码int main(){ #define STR "hello \0this is test" char buf[255] = {0}; char* src = STR; snprintf(buf, sizeof(buf), src); printf("%d\n", strlen(STR)...原创 2019-11-03 14:46:22 · 90 阅读 · 0 评论 -
分析两个LINUX内核的宏
在Linux内核中有两个比较常用的宏: offsetof 和 containter_of这里先给出这 offsetof 宏的定义 offsetof 宏:#ifndef offsetof#define offsetof(TYPE, MEMBER) ((size_t)&((TYPE*)0)->MEMBER)#endif...原创 2019-10-27 15:03:28 · 134 阅读 · 0 评论 -
C语言剖析--- ++操作符
C语言剖析— ++操作符可以先看下面有段代码int main(){ int k = 2; int a = 1; k = k++ + k++; printf("k = %d\n", k); if( a-- && a ) { printf("a = %d\n", a); } ...原创 2019-10-01 15:10:10 · 309 阅读 · 0 评论 -
C语言剖析---程序中的堆栈
C语言剖析—程序中的堆栈参考自 狄泰 C语言进阶个人认为堆栈可以分为两个概念 一个是数据结构中堆栈概念 一个是计算机程序存储的概念这里分析的堆栈就是从计算机存储的概念出发首先栈是用来程序自主分配用来保存一些局部变量等同时栈也是维护函数调用的上下文信息栈是保存了函数哪些相关信息? 看下图上图就描述了栈保存一个函数的记录 也叫活动记录 其中参数 --就是函数传入的参数返回地址 ...原创 2019-10-03 12:16:03 · 510 阅读 · 0 评论