C
文章平均质量分 79
lzhsdly
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C和指针读书笔记
字符串就是一串以NUL字节结尾的字符。 NUL是作为字符串终止符,它本身并不被看作是字符串的一部分。 字符串常量(string literal)就是源程序中被双引号括起来的一串字符。 例如,字符串常量:"Hello" printf函数的第一个参数是一个字符串,描述输出的格式,格式常常以字符串常量的形式出现。 格式字符串包含格式指定符(格式代码)以及一些普通字符。这些普通字符将按原创 2012-01-06 14:52:10 · 311 阅读 · 0 评论 -
C陷阱与缺陷 读书笔记
如果一个整形常量的第一个字符是数字0,那么该常量将被视作八进制数。 例如,10与010的含义截然不同; #include int main(int argc, char *argv[]) { char hello[] = {'H','i','v','i','e','w','\n','\0'}; char *str = "lzhsdly";原创 2012-01-06 14:54:38 · 299 阅读 · 0 评论 -
C专家编程 读书笔记
在ANSI C中,如果要声明空参数表,则必须使用关键字void进行显式声明; CPU,16位地址总线,能够访问2^16也就是64KB的内存;20位地址总线,可以访问2^20也就是1MB的内存;32位地址总线,能够访问2^32=2^2*2^30=4GB的内存;1KB=2^10B;1MB=2^20B;1GB=2^30B; liunx中如何查看系统中的页面大小? 释放或改写仍在使用的原创 2012-01-06 14:55:30 · 407 阅读 · 0 评论 -
精——函数指针全解析
一 通常的函数调用一个通常的函数调用的例子://自行包含头文件?1234567891011void MyFun(int x);//此处的申明也可写成:void MyFun( int );int main(int argc,char* argv[]){ MyFun(10转载 2012-01-10 20:41:22 · 156 阅读 · 0 评论 -
宏定义的一个变态用法
在程序调试时,我们经常需要输出一些调试信息,当调试完毕后,就不再需要使用了。那怎么快速的在调试状态和发布状态切换呢?通常我们使用预编译加宏定义来处理这个问题,例如: #ifdef DEBUG 调试代码 #endif 如果我们使用printf来显示一些调试信息,那么每个地方都加上#ifdef和#endif就很麻烦了。我们可以定义一个DbgPrintf的函数来专门处理这些事情转载 2012-02-07 09:09:15 · 215 阅读 · 0 评论 -
#if 1 #elseif0 #endif用法
今天在看程序时,发现一个函数中使用的很多的 #if 1......#endif#if 0......#endif因为没有用过,感到有点莫名。如是上网查找答案。终于明白是用来注释编译内容的。意思是说:#if 1 需要编译器编译以下内容;#if 0 编译器不要编译以下内容;#if 0 #endif 这种用转载 2012-05-02 16:10:23 · 1818 阅读 · 0 评论 -
“#if 0/#if 1 ... #endif”的作用
今看到一帖子,讨论“#if 0/#if 1 ... #endif”的作用,感觉不错,故拿来分享。原帖地址:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=2028608&bbs_page_no=1005&bbs_id=99991、先说“#if 0/#if 1 ... #endif”的作用,楼上诸位或多或少都说到了一点,但都没有说到关键转载 2012-05-02 16:12:18 · 855 阅读 · 0 评论 -
C拾遗
*( volatile unsigned int *)(addr) = data;volatile保证cpu不会去cache里取数据,而是会直接从寄存器取。不会让编译器自动进行优化,对寄存器的操作通常要加上volatile。要判断NULL按下面方法更改代码,可以在这个函数最前面加入断言assert((NULL != str1) && (NULL != str2))但要注原创 2012-02-07 08:55:18 · 188 阅读 · 0 评论
分享