C++如何初始化指针
时间: 2024-12-06 18:03:06 浏览: 12
在C++中,初始化指针的方式取决于你想要做什么。以下是常见的指针初始化方法:
1. **声明并初始化为NULL或nullptr**:这是最基础的初始化,表示指针尚未指向任何特定的内存位置。
```cpp
int* myPointer = nullptr; // C++11及以上版本
```
或者
```cpp
int* myPointer = NULL; // C++98及更早版本
```
2. **指向已存在的变量**:如果你已经有了一个变量,可以创建一个指向该变量的指针。
```cpp
int x = 10;
int* myPointer = &x; // 指向变量x的地址
```
3. **动态内存分配**:通过`new`关键字为新对象分配内存,然后获取返回的指针。
```cpp
int* dynamicPointer = new int; // 分配新的整型变量
*dynamicPointer = 5; // 写入值
// ...其他操作...
delete dynamicPointer; // 要记得释放内存
```
4. **从数组开始**:可以使用数组名直接初始化指向数组元素的指针。
```cpp
int arr[5] = {1, 2, 3, 4, 5};
int* arrayPointer = arr; // 初始化为数组的第一个元素
```
5. **构造函数接收指针**:对于类或结构体,你可以将指针作为参数传递给构造函数。
```cpp
struct MyClass {
MyClass(int* ptr) : myValue(*ptr) {} // 接收一个整型指针
private:
int myValue;
};
MyClass obj(MyPointer); // 传递一个指针实例
```
记得,在使用指针之前,确保已经进行了适当的初始化,以防止未定义的行为。
阅读全文