12 2014 档案
摘要:# C中宏展开问题简单记录一下碰到的问题。```c#define STR(x) #x```我们知道使用上面的宏可以将x转换为字符串"x"。但是如果这样用:```c#define NUM 3#define STR(x) #xSTR(NUM) --> 实际输出为:"NUM".```这是为啥呢?C99标准...
阅读全文
摘要:# C语言中的命名空间命名空间是为了解决 “在相同作用域内如何区分 相同的标识符”。 说明:①只有在相同作用域的情况下才能使用到命名空间去区分标识符,在嵌套的作用域、不同的作用域区分标识符都用不到命名空间的概念。 ②在相同的作用域内,如果命名空间不同,标识符可以使用相同的名称。否则,即如果命名空间不...
阅读全文
摘要:#c语言中赋值语句的结果最近在看《C语言接口与实现》,在第一章就发现一个以前很少用到的用法。在实现strcpy函数时,书中给出了两种实现。```c//version 1, 使用数组实现(新手惯用)char *strcpy(char dst[], const char src[]){ int i...
阅读全文