C++中关于指针入门的最好的文章

C++中关于指针入门的最好的文章

ID:40711224

大小:43.50 KB

页数:7页

时间:2019-08-06

C++中关于指针入门的最好的文章_第1页
C++中关于指针入门的最好的文章_第2页
C++中关于指针入门的最好的文章_第3页
C++中关于指针入门的最好的文章_第4页
C++中关于指针入门的最好的文章_第5页
资源描述:

《C++中关于指针入门的最好的文章》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C++中关于指针入门的最好的文章  什么是指针?   其实指针就像是其它变量一样,所不同的是一般的变量包含的是实际的真实的数据,而指针是一个指示器,它告诉程序在内存的哪块区域可以找到数据。这是一个非常重要的概念,有很多程序和算法都是围绕指针而设计的,如链表。   开始学习   如何定义一个指针呢?就像你定义一个其它变量一样,只不过你要在指针名字前加上一个星号。我们来看一个例子:下面这个程序定义了两个指针,它们都是指向整型数据。   int*pNumberOne;   int*pNumberTwo;   你注意到在两个变量名前的“p”前缀了吗?这是程序员通常在定义指针

2、时的   一个习惯,以提高便程序的阅读性,表示这是个指针。现在让我们来初始化这两个指针:   pNumberOne=&some_number;pNumberTwo=&some_other_number;   &号读作“什么的地址”,它表示返回的是变量在内存中的地址而不是变量本身的值。在这个例子中,pNumberOne等于some_number的地址,所以现在pNumberOne指向some_number.如果现在我们在程序中要用到some_number,我们就可以使用pNumberOne.   我们来学习一个例子:   在这个例子中你将学到很多,如果你对指针的概念一

3、点都不了解,我建议你多看几遍这个例子,指针是个很复杂的东西,但你会很快掌握它的。这个例子用以增强你对上面所介绍内容的了解。它是用C编写的(注:原英文版是用C写的代码,译者重新用C++改写写了所有代码,并在DEVC++和VC++中编译通过!)7 #include    voidmain()  {  //声明变量:    intnNumber;  int*pPointer;    //现在给它们赋值:    nNumber=15;  pPointer=&nNumber;    //打印出变量nNumber的值:    cout<<"nNumber

4、isequalto:"<    int*pPointer;    voidS

5、omeFunction();    {  int7nNumber;  nNumber=25;    //让指针指向nNumber:    pPointer=&nNumber;  }    voidmain()  {  SomeFunction();//为pPointer赋值    //为什么这里失败了?为什么没有得到25    cout<<"Valueof*pPointer:"<<*pPointer<

6、后,nNumber被删掉了,   因为这一个局部变量。局部变量在定义它的函数执行完后都会被系统自动删掉。也就是说当SomeFunction函数返回主函数main()时,这个变量已经被删掉,但pPointer还指着变量曾经用过的但现在已不属于这个程序的区域。如果你还不明白,你可以再读读这个程序,注意它的局部变量和全局变量,这些概念都非常重要。   但这个问题怎么解决呢?答案是动态分配技术。注意这在C和C++中是不同的。由于大多数程序员都是用C++,所以我用到的是C++中常用的称谓。   动态分配   动态分配是指针的关键技术。它是用来在不必定义变量的情况下分配内存和让

7、指针去指向它们。尽管这么说可能会让你迷惑,其实它真的很简单。下面的代码就是一个为一个整型数据分配内存的例子:   int*pNumber;   pNumber=newint;   第一行声明一个指针pNumber.第二行为一个整型数据分配一个内存空间,并让pNumber指向这个新内存空间。下面是一个新例,这一次是用double双精型:   double*pDouble;pDouble=newdouble;7   这种格式是一个规则,这样写你是不会错的。   但动态分配又和前面的例子有什么不同呢?就是在函数返回或执行完毕时,你分配的这块内存区域是不会被删除的所以我

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。