C++ 指针初始化要注意的地方

1. 声明多个指针的时候:

int* P1,P2;

如上所示,声明的是创建一个指针P1和一个int型的变量P2。而不是声明的两个指针

对每个指针变量名,都需要使用一个*

在C++中,int* 是一种复合类型,是指向int的指针。

2. 可以在声明语句中初始化指针,但是,在这种情况下,被初始化的是指针,而不是它指向的值。

int higgens  = 5;
int * pt = &higgens;

这里将pt(而不是*pt)的值设置为&higgens。

如下程序所演示:

#include<iostream>
using namespace std;
int main()
{   
    int higgens = 5;
    int *pt = &higgens;
    cout << higgens <<endl;
    cout << &higgens << endl;
    cout << *pt <<endl;
    cout << pt;
    cin.get();
    return 0;
}

输出:

5
006FFD88
5
006FFD88

3.指针的危险!!!

  在C++中创建指针时,计算机将分配用来存储地址的内存,而不会分配用来存储指针所指向数据的内存,为数据提供空间是一个独立的步骤!!!也就是说指针所指向的地址并不是用来存储数据的地址!

猜你喜欢

转载自www.cnblogs.com/carlber/p/9954013.html