摘要: 指针参数是如何传递内存的如果函数的参数是一个指针,不要指望用该指针去申请动态内存。示例7-4-1中,Test函数的语句GetMemory(str, 200)并没有使str获得期望的内存,str依旧是NULL,为什么?void GetMemory(char *p, int num){p = (char... 阅读全文
posted @ 2015-12-07 21:49 JeromeLiuZq 阅读(140) 评论(0) 推荐(0)
摘要: C++/C程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所... 阅读全文
posted @ 2015-12-07 21:26 JeromeLiuZq 阅读(636) 评论(0) 推荐(0)
摘要: 宏定义中使用do{}while(0)的好处#define MACRO_NAME(para) do{macro content}while(0)的格式,总结了以下几个原因:1,空的宏定义避免warning:#define foo() do{}while(0)2,存在一个独立的block,可以用来进行变... 阅读全文
posted @ 2015-12-05 22:21 JeromeLiuZq 阅读(386) 评论(0) 推荐(0)
摘要: 以下摘抄于 (高质量C++/C 编程指南,v 1.0 林锐),仅以记录回顾1、标识符应当直观且可以拼读,可望文知意,不必进行“解码”。标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文单词一般不会太复杂,用词应当准确。例如不要把CurrentValue写成NowV... 阅读全文
posted @ 2015-12-05 14:29 JeromeLiuZq 阅读(322) 评论(0) 推荐(0)