当const修饰一个普通变量时,则这个普通变量不应被修改。当const修饰一个指针变量时,这个指针指向的内容不应被修改,也不应让其它指针指向这个内容。extern用于声明全局变量的方法:首先在头文件x.h里用extern修饰该变量的声明部分,然后在源文件x.c中定义该变量。
分类:
编程语言 时间:
2014-07-08 23:37:07
阅读次数:
339
一、指向数组的指针
1、所谓指向的意思:我们通常说指针变量指向某个变量或者某块内存,意思是这个指针变量存储了某个变量的地址或者某块内存的地址。
2、一个变量可以占多个字节,我们通常所说某个 的地址指的是这块内存的起始地址。比如int a,变量a栈 0x10 0x11 0x12 0x13这四个字节,那么a的地址是0x10.
3、(1)以前我们定义一个数组的时候,通常是把这个数组当做同种类型的...
分类:
其他好文 时间:
2014-07-08 18:51:03
阅读次数:
165
指针的作用:指针就是用来存放内存地址的,其目的是为了访问这个地址指向的内存空间。函数指针的定义格式:void (*p)();// (*p),这块代码是固定的,不要问为什么,它就是代表了一个指向函数的指针,p是这个指针变量的名字。p是变量名可以随意修改。//void 代表了这个指针变量指向的函数必须没...
分类:
其他好文 时间:
2014-07-07 21:17:56
阅读次数:
196
1. 基本概念: 程序运行期间,每个函数都会占用一段连续的内存空间。而函数名就是该函数所占内存区域的起始地址(也称“入口地址”)。我们可以将函数的入口地址赋给一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以调用这个函数。这种指向函数的指针变量称为“函数指针”。 ...
分类:
编程语言 时间:
2014-07-06 22:04:59
阅读次数:
375
Singleton 是对全局变量的取代策略
作用:保证一个类只能有一个实例,并提供一个全局唯一的访问点。
仅有一个实例:通过类的静态成员变量来体现。
提供访问它的全局访问点:访问静态成员变量的静态成员函数来体现。
《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该实例。
单例模式通过类本身来管理其唯一实例,这种特性提供了解决问题的方法。唯一的实例是类的一个普通对象,但设计这个类时,让它只能创建一个实例并提供对此实例的全局访问...
分类:
其他好文 时间:
2014-06-30 20:27:52
阅读次数:
255
引言:在内核的系统调用函数里,经常遇到函数的参数使用restrict限定词限定的情况,下面就对该关键词做个总结。
1、restrict关键词是C99特性才添加的,因此在编译使用含有该限定词的程序时,一定要在后边添加-std=c99的标志,使得gcc能够支持c99标准。
2、restrict既然是个限定词,那么它限定什么变量呢?它只能限定指针变量!经过它限定的数据对象,表明指针时访问该数据对象的...
分类:
编程语言 时间:
2014-06-30 17:21:09
阅读次数:
245
建议0:不要让main函数返回void
建议1:区分0 的四种面孔
建议2:避免由运算符引发的混乱
建议3:对表达式的计算不要想当然
建议4:小心宏#define使用中的陷阱
建议5:不要忘记指针变量的初始化...
分类:
编程语言 时间:
2014-06-30 11:00:27
阅读次数:
223
数组指针只是一个指针变量,似乎是C语言里专门用来指向二维数组的,它占有内存中一个指针的存储空间。指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间。
还需要说明的一点就是,同时用来指向二维数组时,其引用和用数组名引用都是一样的。...
分类:
其他好文 时间:
2014-06-27 23:56:34
阅读次数:
405
函数体内的局部变量在函数结束时自动消亡。很多人误以为示例7-6是正确的。理由是p是局部的指针变量,它消亡的时候会让它所指的动态内存一起完蛋。这是错觉!voidFunc(void){char*p=(char*)malloc(100);//动态内存会自动释放吗?}我们发现指针有一些“似是而非”的特征:(...
分类:
其他好文 时间:
2014-06-26 22:39:36
阅读次数:
326
昨天看到strcpy函数的典型实现时,发现该函数的返回值为局部指针变量,当时产生疑问:局部指针在函数结束时不是会被注销掉吗?为什么此处没有呢?
下面给出strcpy函数代码:
char* Mystrcpy(char* strDest, const char* strSrc)
{
assert((strDest!= NULL)&&(strSrc != NULL));
char* adress...
分类:
其他好文 时间:
2014-06-25 07:18:50
阅读次数:
184