发布时间:2022年04月15日 05:54:41分享人:我只为你疯狂过来源:互联网5
指针和其他类型变量不同的是它有“两种”地址。由于指针仍然是变量,所以系统会分配一块内存,这块内存有一个地址,记住这个地址是系统分配的,不会出错。当然如果将这个地址存放在另一块内存中,那么就是双重指针了。另外,指针的特殊之处在,指针变量也是表示的地址,我们可以通过这个地址来访问其他变量,叫做间接访问。指针的初始化,就是讨论指针变量“这块内存”的赋初值问题。
第一个问题,为什么要进行初始化
void change(int *x, int*y)
{
int *temp;
*temp = *x;
*x = *y;
*y = *temp;
}
第 二个问题,如何对指针进行初始化
有两个方法
int a = 0;
int *p =&a;
由于系统会自动在可访问的区域定义a,所以&a一定是可访问的,同时可以知道*p = 0。但这种方法有点麻烦。
int *p = NULL;
系统定义NULL其实就是0,但是表示指针是一般用NULL。0这块地址是不可访问的,所以如果用到*p就会出错,让错误暴露出来而不是隐含在程序中,这就迫使在使用*p之前先对它正确地赋值。所以比较好的风格是在使用指针之前先检查一下
if(p == NULL)
…
或者
assert(!p);
爱华网本文地址 » http://www.413yy.cn/a/25101016/308724.html
更多阅读
经常使用word软件,难免是遇到这样那样的问题,今天笔者在录制新宏时出现错误提示“无法初始化Visual Basic环境”,对于此问题我们该如何来解决。怎样解决无法初始化Visual Basic环境的问题——工具/原料word 2003怎样解决无法初始化Vi
最近经常有朋友说打开魔兽争霸III时会弹出魔兽争霸III不能初始化DirectX的错误(图1),问我该怎么解决,尤其是很多刚装了WIN7系统的。有些人会把错误归咎于WIN7系统不兼容,其实不是这样的,XP系统同样会有这样的错误,下面我就把弹出魔兽争霸II
谈谈37玩借壳后002555的估值37玩重组正式获批,昨天放出来机构打板,今天已经跌破昨天的封板价。A股第一个真正互联网平台级的公司,虽然收购几经波折,但既然批了,我就来唠几句。不管外界对页游这类公司是如何评价,真正现在互联网最好的套现
int* p=123; the VC++ will give a error,say:cannot convert from 'const int' to 'int *',Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast 当赋值为NULL时,没
现在大家都知道要使用弱酸性洗发水(PH5-6为最佳)。其实目前正规的、品牌历史较久的洗发水的PH值基本都在7以下。所以完全可以放心的购买。若不放心,那就买包装瓶上有PH标识的洗发水。有些进口洗发水会在包装上注明PH值的。比如,德国施