摘要:
在C语言中, 对于数组, 只能做两件事: 确定该数组大小; 获得指向该数组下标为0的元素的指针 <<C traps and Pitfalls>> 数组名是指向数组下标[0]元素的指针. (char a[3], *p; p=a;) 作为函数形参时,以及用于表达式中的数组名, 总是被转换为指向数组首元素 阅读全文
摘要:
之前写过一篇 <从作用域 链接属性 存储类型三个方面详解 static & extern关键字>, 此篇是对前篇的提炼, 并加了新的感悟. 最最常见的作用域有两种: 函数体内即花括号(包括函数定义中的形参)中声明的标识符和函数体外(不在任何花括号)中声明的标识符. 这两种常见的作用域标识符又各自对应 阅读全文
摘要:
编译器错误 C2732 链接规范与“function”的早期规范冲突 该函数已经使用其他链接说明符声明。 具有不同链接说明符的包含文件可能会导致此错误。 要修复此错误,请更改 extern 语句,以便这些链接一致。 特别是,不要对 extern "C" 块中的 #include 指令换行。 // C 阅读全文
摘要:
extern "C" 的主要作用是为了指示编译器按c语言编译, 从而能够正确调用c语言代码. 我将试着从c/c++用与不用extern "C"分别举例来说明我对此的用法, 如有疏漏错误, 还请评论指出. 首先, 在C++文件中, 对于在头文件中的函数声明添加 extern "C", 这就表示该函数需 阅读全文
摘要:
首先, 作用域范围有4类, 分别是文件作用域, 代码块作用域, 原型作用域和函数作用域. 本文只涉及文件作用域和代码块作用域. 原型作用域只适用于函数原型(非函数定义)中声名的参数名. 函数作用域不推荐, 故在此亦不解释. 位于一对花括号之间的所以语句称为一个代码块. 所以代码块作用域就是一对花括号 阅读全文