C++学习扎记(一)

    这段时间对C++语言突然有了兴趣,虽然大学已经学过C++了,但只是学了皮毛,一点实用也没有。于是决定重新学习,从头开始。学习的过程肯定是枯燥无味的,所以开了个博,希望能利用这个博来调解下枯燥,写些学习扎记的同时,也想慰藉下自己无聊的心情。现在才是刚刚开始,所以写下一句祝语吧,希望可以坚持下去。

 

#include <iostream.h>
int *pPointer;
void SomeFunction();
{
int nNumber;
nNumber = 25;
//让指针指向nNumber:
pPointer = &nNumber;
}
void main()
{
SomeFunction(); //为pPointer赋值
//为什么这里失败了?为什么没有得到25
cout<<"Value of *pPointer: "<<*pPointer<<endl;
}

 

    这段程序先调用了SomeFunction函数,创建了个叫nNumber的变量,接着让指针pPointer指向了它。可是问题出在哪儿呢?当函数结束后,nNumber被删掉了,因为这一个局部变量。局部变量在定义它的函数执行完后都会被系统自动删掉。也就是说当SomeFunction 函数返回主函数main()时,这个变量已经被删掉,但pPointer还指着变量曾经用过的但现在已不属于这个程序的区域。

 

以上是在网上看到的,链接地址:http://c.chinaitlab.com/cc/basic/200907/790635.html。但按照上面的程序段输入,运行后,却并不像上边的解释那样没有得到25,反而是结果得到了25,这是为什么呢?谁可以解释的,请教!
 

     以上是在网上看到的,链接地址:http://c.chinaitlab.com/cc/basic/200907/790635.html。但按照上面的程序段输入,运行后,却并不像上边的解释那样没有得到25,反而是结果得到了25,这是为什么呢?谁可以解释的,请教!   

posted @ 2010-06-18 13:36  归无雨  阅读(323)  评论(1编辑  收藏  举报