Gained from C Traps and Pitfalls
azhen
这个作者很懒,什么都没留下…
展开
-
第二章 语法“陷阱”
2.1 理解函数声明a. 对这个语句的理解: (*(void (*)())0)(); (void (*)())为一个函数指针的声明符。这个语句的意思就是把0强制转换成(void (*)())的函数指针。 (*(void (*)())0)();的意思就是引用这个函数指针。 总的理解为:将存储位置为0的指针强制转化为一个void (*)())的函数指针,并调用。b. (* fp)();原创 2005-11-19 16:30:00 · 718 阅读 · 0 评论 -
第三章 语义“陷阱”
3.1指针与数组C语言中的数组值得注意的地方主要有以下两点:1. C语言中其实只有一维数组,并且数组的大小在编译的时候就作为一个常数确定下来了。所谓的多维数组,只是因为数组的元素也是数组。2. 数组的下标运算,实际上都是通过指针进行操作的。下面对上述两点展开,进行详细的讨论。考虑下面的例子:int calendar[12][31];这个语句声明了calendar是一个数组。原创 2005-11-20 23:30:00 · 710 阅读 · 0 评论