随笔分类 - c language
摘要:指针大小为什么与类型无关 指针的大小与硬件有关。 内存中有各种各样的数据,整型、浮点型、字符型等等。这些数据在内存中占据不同大小的储存空间,用sizeof运算符(注:sizeof是种运算符而不是函数,它在编译时发挥作用)进行运算时结果是不同的。然而不同类型的指针在相同系统环境下进行这种运算时结果却是
阅读全文
摘要:最近在学习老师的网络代码时,看到定义了一个如下的结构体: struct MyData { int nLen; char data[0];}; 开始没有理解红色部分的内容,上网搜索下,发现用处很大,记录下来。 在结构中,data是一个数组名;但该数组没有元素;该数组的真实地址紧随结构体MyData之后
阅读全文
摘要:1.指针函数的定义 顾名思义,指针函数即返回指针的函数。其一般定义形式如下: 类型名 *函数名(函数参数表列); 其中,后缀运算符括号“()”表示这是一个函数,其前缀运算符星号“*”表示此函数为指针型函数,其函数值为指针,即它带回来的值的类型为指针,当调用这个函数后,将得到一个“指向返回值为…的指针
阅读全文
摘要:C中结构体的存储分配 对于C语言中结构体所占的存储空间的大小,也一直是笔试面试的常客,今天好好看了一下这方面,以前一直以为很清楚了,今天通过各种实际测试举例,发现原来还是没有搞透彻,好在现在是彻底懂了,所以和大家分享,希望能有所帮助。提到结构体,相信大家都知道元素存储要对齐,话是没有错,只是这个“对
阅读全文
摘要:指针的引用(*&)与指针的指针(**)在下列函数声明中,为什么要同时使用*和&符号?以及什么场合使用这种声明方式? void func1( MYCLASS *&pBuildingElement ); 论坛中经常有人问到这样的问题。本文试图通过一些实际的指针使用经验来解释这个问题。仔细看一下这种声明方
阅读全文