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

c++指针赋值

作者:野牛程序员:2023-08-07 10:58:06 C++阅读 2635

在C++中,指针赋值就是将一个指针指向另一个变量的内存地址或者将指针置为nullptr。指针赋值可以通过直接赋值或者使用引用传递来实现。

下面是指针赋值的几种常见方法:

  1. 直接赋值:

int num1 = 10;
int num2 = 20;

int* ptr1 = &num1; // ptr1指向num1的内存地址
int* ptr2 = &num2; // ptr2指向num2的内存地址

ptr1 = ptr2; // 将ptr1指向num2的内存地址,现在ptr1和ptr2指向同一个变量num2
  1. 使用引用传递:

void changePointer(int*& ptr, int& value) {
    ptr = &value;
}

int main() {
    int num1 = 10;
    int num2 = 20;

    int* ptr = &num1; // ptr指向num1的内存地址

    changePointer(ptr, num2); // 将ptr指向num2的内存地址

    return 0;
}

在上述例子中,定义了一个changePointer函数,该函数的第一个参数是指向指针的引用(int*& ptr),第二个参数是整型变量的引用(int& value)。在函数中,通过将指针参数ptr赋值为value的地址,实现了指针赋值。

无论是直接赋值还是使用引用传递,指针赋值后,原始指针指向的内存地址将会改变,现在指针将指向新的内存地址或者是nullptr。需要注意的是,对于动态分配的内存,赋值后要确保释放旧的内存空间,避免内存泄漏。同时,指针赋值时要确保指针不为野指针或者nullptr,以避免产生未定义的行为。


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

最新推荐

热门点击