
【C/C++】C语言中一些容易被人忽略的东西
【C/C++】C语言中一些容易被人忽略的东西
该系列总共不到十篇博客。描述一些C/C++中一些容易被人忽略的东西
大部以详实的代码描述问题,将细节的问题放大并且呈现出来。
涉及内存、typedef、函数、共用体、位域、预编译、文件等内容。
XiaoYNil
这个作者很懒,什么都没留下…
展开
-
【C/C++】C语言中一些容易被人忽略的东西 之六 【文件读写,y上两点】
转载请注明出处由于阅历有限,篇幅不周之处还望指出,谢谢一、EOF教学陷阱(EOF=-1=0XFF=CTRL+Z)刚开始学习编程的时候,看到While Not Eof(1)'DoSomethingWend这样的代码,在文件读取的时候用着会很爽,爽到忘我。但是EOF其实并不是这么简单而已,书本上说的,老师教的说只是带你入门,所以不会讲得很全面。这样的细节往往原创 2013-02-11 15:22:42 · 3487 阅读 · 3 评论 -
【C/C++】C语言中一些容易被人忽略的东西 之五 【预编译中的未知数】
转载请注明出处由于阅历有限,篇幅不周之处还望指出,谢谢一、#define 宏体为空时#define name value宏体为空时,宏名被定义为字符常量0验证代码:#define YOUNAMEvoid main(){ printf("%d",YOUNAME); getch();}二、字符串化运算符(#运算符)原创 2013-02-06 14:48:17 · 2408 阅读 · 4 评论 -
【C/C++】C语言中一些容易被人忽略的东西 之四 【不常见的位域】
转载请注明出处由于阅历有限,篇幅不周之处还望指出,谢谢大学里的课程很少有讲到位域这么个东西,甚至是位操作符都没有重点讲。事实上,位操作在算法优化上是可能起到关键性作用的。&按位与|按位或^按位异或~按位取反左移>>右移这些便是六种操作符,那么什么是位域呢?有时候信息的存储并不需要一个完整的字节,只需要占用几个甚至一个二进制位。为此原创 2013-02-06 11:40:54 · 3022 阅读 · 2 评论 -
【C/C++】C语言中一些容易被人忽略的东西 之三 【共用体、联合、union】
转载请注明出处由于阅历有限,篇幅不周之处还望指出,谢谢这三者其实是讲得一个东西,当然了,这里的重点并不是这里。1、共用体变量的地址和其它各个成员的地址是相同的。2、不能对共用体变量初始化和赋值,也不能企图引用共用体变量名来得到某成员的值。(并不排除有 *((int *)(&UnionVar)) 这样的非主流)3、共用体不能作为函数参数的传递,同样也不能作为函原创 2013-02-06 11:10:48 · 2548 阅读 · 3 评论 -
【C/C++】C语言中一些容易被人忽略的东西 之二 【typedef 与函数的姻缘】
转载请注明出处由于阅历有限,篇幅不周之处还望指出,谢谢且不说typedef有多常见,最多的莫过于 typedef struct了。那么强大的类型定义符typedef也是可以用来定义函数的,您可知道?有如下准确的代码可以说明问题:typedef int (*MYFunc)(int x,int y);//MYFunc 即 int * Function(int x,原创 2013-02-06 11:06:30 · 2127 阅读 · 2 评论 -
【C/C++】C语言中一些容易被人忽略的东西 之一 【内存的分配与释放】
转载请注明出处由于阅历有限,篇幅不周之处还望指出,谢谢[X]和[X*]...[*X]标注的为错误的题记:最近在看一本C语言书,感觉挺不错的,但书中有些错误。同时又发现了一些容易被自己或者大家都容易忽略掉的东西,于是记下来跟大家分享下,文中内容如有错误还望大家一定帮忙指出下,谢谢!一、内存的分配与释放学过C语言的都知道,内存分配了用完之后是要释放的,都是到原创 2013-02-05 13:02:59 · 2654 阅读 · 6 评论