当前位置:首页 C++ > 正文

c++指针初始化方式

作者:野牛程序员:2023-08-01 17:51:56 C++阅读 2392

在 C++ 中,有几种方式可以初始化指针:

  1. 初始化为 null 指针(不指向任何有效的内存地址):

  2. int* ptr = nullptr; // C++11引入的nullptr
    // 或者
    int* ptr = NULL; // 使用宏定义的NULL(在头文件stddef.h或cstdlib中定义)
    // 或者
    int* ptr = 0; // 直接将指针初始化为0
  3. 初始化为指向已有变量或对象的地址:

  4. int num = 42;
    int* ptr = # // 指针ptr指向num变量的地址
  5. 动态分配内存,并将指针指向新分配的内存块:

  6. int* ptr = new int; // 动态分配一个整数大小的内存,并将指针ptr指向该内存地址
  7. 初始化为指向数组的第一个元素:

  8. class MyClass {
    public:
        int value;
        void func() { /* do something */ }
    };
    MyClass obj;
    int* ptr = &(obj.value); // 指针ptr指向对象obj的成员变量value的地址
    void (MyClass::*funcPtr)() = &MyClass::func; // 成员函数指针指向func成员函数

请注意,在初始化指针时,确保指针指向的内存地址是有效的,尤其在使用动态内存分配时,需要在不再使用指针时及时释放内存,以避免内存泄漏。

在 C++ 中,指针的初始化通常是在定义指针的同时进行的。也可以在后续代码中重新赋值给指针,但在任何时候使用未初始化的指针(野指针)是不安全的,可能导致未定义的行为。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击