文章分类 -  C

摘要:volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改。用volatile关键字声明的变量i每一次被访问时,执行部件都会从i相应的内存单元中取出i的值。没有用volatile关键字声明的变量i在被访问的时候可能直接从cpu的寄存器中取值(因为之前i被访问过,也就是说之前就从内存中取出i的值保存到某个寄存器中),之所以直接从寄存器中取值,而不去内存中取值,是因为... 阅读全文
posted @ 2010-03-20 14:36 jackyxm 阅读(122) 评论(0) 推荐(0) 编辑
摘要:在最近的项目中,我们涉及到了“内存对齐”技术。对于大部分程序员来说,“内存对齐”对他们来说都应该是“透明的”。“内存对齐”应该是编译器的“管辖范围”。编译器为程序中的每个“数据单元”安排在适当的位置上。但是C语言的一个特点就是太灵活,太强大,它允许你干预&... 阅读全文
posted @ 2010-03-19 14:18 jackyxm 阅读(181) 评论(0) 推荐(0) 编辑
摘要:char *str[] = {"how" , "endofyou" , "wonderful" , "goodnight"}; char **pstr[] = { str+3 , str+2 , str+1 , str} ; char ***p = pstr ; puts( *str ); /* how */ puts( **pstr ); puts( **p ); puts( **++p );... 阅读全文
posted @ 2009-11-16 15:50 jackyxm 阅读(90) 评论(0) 推荐(0) 编辑
摘要:1 解除引用一个包含非法值的指针2 解除引用一个空指针 int *p ; /* p 并未指向任何变量 */ *p = 20 ;3 在未得到权限时进行访问4 用完了堆火堆栈空间 阅读全文
posted @ 2009-11-15 11:31 jackyxm 阅读(380) 评论(0) 推荐(0) 编辑
摘要:/*{{{*//* * expression error right 说明* * *p.f (*p).f *(p.f) . 的优先级高于* * * int *ap[] ap是一个指向int数组的指针 ap是一个指向元素为int指针 [] 高于 ** int(*ap)[] 的数组 int * (ap[])* * int *fp() fp是一个函数指针,所指函数 fp是一个函数,返回int* 函数()... 阅读全文
posted @ 2009-11-15 11:14 jackyxm 阅读(178) 评论(0) 推荐(0) 编辑
摘要:/* 函数中的局部变量在退出函数时会被销毁 * >> 1 * 返回指向字符串常量的指针 */char * getstra(){ return "how are you" ;}/* * >> 2 * 使用全局声名的数组 */char global_char[]="how are you";char *getstrb(){ return global_char ;}/* &g... 阅读全文
posted @ 2009-11-15 09:34 jackyxm 阅读(780) 评论(0) 推荐(0) 编辑
摘要:typedef int Five[5] ; int five[5]; typedef Five* PFive ; int (*pfive)[5]; typedef Five ThreeFive[3]; int threefive[3][5]; typedef ThreeFive* PThreeFive; int (*pthreefive)[3][5]; typedef ThreeFive Tw... 阅读全文
posted @ 2009-11-08 16:50 jackyxm 阅读(300) 评论(0) 推荐(0) 编辑
摘要:1) char ch[2]={'c','b'}; // 输出的的值相同 printf("%d\n",ch); printf("%d\n",&ch); char (*f)[2] = &ch ; // f是指向 char[2] 类型的指针,与数组的首地址相等 printf("%c,%c",f[0],f[1]); char *pch="abc"; // 输出的的值不相同 printf... 阅读全文
posted @ 2009-11-08 16:28 jackyxm 阅读(8310) 评论(0) 推荐(0) 编辑
摘要:static 声明的变量在C语言中有两方面的特征:1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它 与堆栈变量和堆变量的区别。2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。Tips:A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;B.若全局变量仅由单个函数... 阅读全文
posted @ 2009-11-08 11:34 jackyxm 阅读(1347) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示