摘要:
对于打印函数printf我们太熟悉不过,但真是这样吗?看看其原型: int printf( const char *format [, argument]... ); 等等,末尾的…是什么意思?省略号?是想留给读者无限的遐想空间?你大可这样认为,因为这是不固定参数,简称不定参数,换句话说,有多少参数 阅读全文
摘要:
在实现memcpy函数的时候,我们说过要考虑内存覆盖的问题,到底什么是内存覆盖呢,他的出现对程序到底有什么影响呢?我们又要如何去解决这种问题的发生? 首先先看一般人经常实现的memcpy函数: #include<stdio.h> #include<assert.h> #include<string. 阅读全文
摘要:
在《C陷阱与缺陷》第二章第一节中有这样一个声明: (*(void(*)())0)(); 看到这样的表达式估计让不少人都“不寒而栗”了吧,其实虽然看起来复杂,但是构造这类表达式其实只有一条简单的规则:按照使用的方式来声明。 首先先介绍一个著名的解析法则:右左法则:首先从圆括号起,然后向右看,然后向左看 阅读全文