C语言
文章平均质量分 67
凉了个薄
on the way
展开
-
将C语言宏定义转换成字符串
适用场景举例流媒体处理系统中,采样率是个很重要的参数,很多地方都要用,如果用来分配内存,则[cpp] view plain copy#define SAMPLE_RATE 16000 如果用来配置第三方库,则[cpp] view plain copy#define SAMPLE_RATE "16000" 这样每次改采样率都要改两处地方,容易遗漏网上搜到第一篇文章,匆忙试了试,并未达到我想要的转载 2017-06-21 16:11:43 · 4643 阅读 · 0 评论 -
宏定义中的#,##
宏定义、#转载 2017-06-22 09:27:18 · 215 阅读 · 0 评论 -
C语言:数组和指针的区别
转载请注明来源 http://blog.csdn.net/imred/article/details/45441457 实际上关于数组与指针的区别这个问题在《C专家编程》已经有很详细的阐释,但我想用自己的语言说一说我的理解。 数组是指针?最近在做数据结构课设,其中一个函数发生了令人费解的错误,简化后的代码如下:include include include include转载 2017-06-26 11:03:53 · 227 阅读 · 0 评论 -
函数的隐式声明
在a.c文件里c函数的原型为: char* function();在另外的b.c文件里没有引用a.c对应的头文件,即没有function的函数原型声明,直接调用此上面的c函数: char* ret = function();编译没有什么问题,但是run的时候就发现程序在上述调用的位置crash掉了。用gdb跟踪发现调用后ret的值如下: $2 = 0xfffffffff7fcf6f8 即fun转载 2017-06-26 11:05:13 · 2940 阅读 · 0 评论 -
C语言中的隐式函数声明
1 什么是C语言的隐式函数声明在C语言中,函数在调用前不一定非要声明。如果没有声明,那么编译器会自动按照一种隐式声明的规则,为调用函数的C代码产生汇编代码。下面是一个例子: ? 1 2 3 4 5int main(int argc, char** argv) { double x = any_name_function(); return 0; }单纯的编译上述源代码,并转载 2017-06-26 11:18:31 · 1378 阅读 · 1 评论