21xrx.com
2025-06-18 16:44:15 Wednesday
文章检索 我的文章 写文章
C++指针调用函数的用法
2023-07-05 05:36:41 深夜i     21     0
C++ 指针 调用函数 用法

C++是一门强大的编程语言,它提供了许多丰富的特性,其中指针是其中之一。指针可以使代码更加灵活,而且使用指针还可以提高代码的运行效率。在C++中,指针调用函数是一项非常重要的特性。让我们来了解一些指针调用函数的用法。

1. 传递指针作为函数参数

在C++中,可以将指针作为函数的形式参数传递。这样,函数就可以直接修改指针指向的变量,而不需要返回任何值。以下是一个使用指针作为函数参数的示例:

void changeValue(int* var)
{
  *var = 20;
}
int main()
{
  int x = 10;
  changeValue(&x);
  cout << x << endl; // 输出20
  return 0;
}

在上面的代码中,我们定义了一个名为changeValue的函数,该函数将一个指向int类型的指针作为参数。在函数内部,我们修改了指针所指向的变量的值,并将其设置为20。在main函数中,我们调用changeValue函数,并将变量x的地址传递给该函数。由于changeValue函数修改了变量x,所以最终输出20。

2. 传递指向指针的指针

除了可以传递指向变量的指针外,还可以传递指向指针的指针。这种情况下,函数就可以修改指针指向的指针,从而可以动态地分配内存。以下是一个使用指向指针的指针的例子:

void allocateMemory(int** ptr)
{
  *ptr = new int;
  **ptr = 10;
}
int main()
{
  int* ptr = NULL;
  allocateMemory(&ptr);
  cout << *ptr << endl; // 输出10
  delete ptr;
  return 0;
}

在上面的代码中,我们定义了一个指针ptr,该指针的初始值为NULL。然后,我们调用了名为allocateMemory的函数,并将指向指针ptr的指针传递给该函数。在函数内部,我们动态分配了一块新的内存,并将其地址存储在ptr所指向的指针中。随后,我们修改指针指向的值,并将其设置为10。在main函数中,我们输出ptr指针所指向的值,即10。

3. 返回指向变量的指针

除了传递指针作为函数参数外,还可以从函数中返回指向变量的指针。这在动态分配内存时非常有用。以下是一个返回指向变量的指针的示例:

int* allocateMemory()
{
  int* ptr = new int;
  *ptr = 10;
  return ptr;
}
int main()
{
  int* ptr = NULL;
  ptr = allocateMemory();
  cout << *ptr << endl; // 输出10
  delete ptr;
  return 0;
}

在上面的代码中,我们定义了一个名为allocateMemory的函数,该函数使用new运算符动态分配了一块新的内存。然后,我们将值10存储在所分配内存的地址中,并将该地址返回给main函数。在main函数中,我们将返回值存储在指针ptr中,并输出该指针所指向的值,即10。最后,我们释放了分配的内存。

指针是C++中一个非常重要的概念,在函数调用中使用指针可以让我们更好地掌控程序的内存分配和值传递。本文介绍了三种指针调用函数的用法,分别是传递指针作为函数参数、传递指向指针的指针和返回指向变量的指针。

  
  

评论区