📅  最后修改于: 2023-12-03 15:22:24.645000             🧑  作者: Mango
在 C++ 中,我们可以使用星号来实现很多有用的功能。下面是一些使用星号的例子:
在 C++ 中,指针是一个十分重要的概念,它是用来存储变量地址的变量,通常用星号 *
来声明一个指针变量。下面是一个例子:
int a = 10;
int *p = &a;
在这个例子中,我们先定义了一个整型变量 a
,然后使用取地址符号 &
得到了 a
的地址,并将其赋值给指针变量 p
。接下来,我们可以通过星号 *
来访问 p
指向的变量,即 a
:
cout << *p << endl; // 输出 10
使用 new
关键字可以在程序运行时动态地为变量分配内存,而返回的是一个指向该内存的指针。例如:
int *p = new int;
*p = 10;
cout << *p << endl; // 输出 10
delete p; // 释放内存
在这个例子中,我们使用 new
关键字为整型变量分配了一段内存,并将其地址赋值给指针变量 p
。然后我们可以通过星号 *
来访问该内存中存储的值,并在最后使用 delete
来释放内存。
使用指针变量可以方便地操作数组。例如,假设我们定义了一个整型数组:
int a[3] = {1, 2, 3};
我们可以定义一个指向该数组首地址的指针变量 p
,然后通过指针访问数组中的元素:
int *p = a;
cout << *p << endl; // 输出 1
p++;
cout << *p << endl; // 输出 2
在这个例子中,我们通过指针变量 p
访问了数组中的第一个和第二个元素。
在 C++ 中,函数也是一种数据类型,可以使用指针来传递函数地址。例如:
int add(int a, int b) {
return a + b;
}
int (*p)(int, int) = add; // 声明一个函数指针,指向 add 函数
cout << p(1, 2) << endl; // 输出 3
在这个例子中,我们首先定义了一个 add
函数,它接受两个整数参数并返回它们的和。然后我们声明了一个函数指针变量 p
,它具有和 add
函数相同的参数和返回类型,并将其初始化为指向 add
函数。接下来,我们可以通过调用 p
来调用 add
函数。
使用星号可以帮助我们更好地理解和使用指针和函数指针等概念。同时,我们也可以使用 new 关键字动态分配内存,以便在程序运行时更加灵活地管理内存。