📅  最后修改于: 2023-12-03 14:39:39.134000             🧑  作者: Mango
在C ++中,变量是用于存储数据的一种基本数据类型。指针是一个变量,存储了其他变量的内存地址。在程序中,可以使用指针来访问、修改或传递变量的值。
定义变量的通用格式是:数据类型 变量名; 例如:
int a;
float b;
char c;
在C ++中,变量必须在使用之前先声明。变量声明也可以包含可选的初始化值,例如:
int a = 10;
float b = 3.14;
char c = 'A';
变量的值可以在程序中随时修改,例如:
a = 20;
b = 2.71;
c = 'B';
指针是一个变量,它用来存储其他变量的内存地址。指针变量必须声明并初始化才能使用。指针变量的类型为它所指向变量的类型加上一个星号(*)。
指针的声明如下所示:
int *p; // 声明一个int类型的指针变量p
指针的初始化可以指向一个已存在的变量的内存地址,例如:
int a = 10;
int *p = &a; // 将指针变量p指向变量a的内存地址
指针可以通过操作符*来访问指针所指向的变量的值。例如:
int a = 10;
int *p = &a; // 将指针变量p指向变量a的内存地址
cout << *p << endl; // 输出变量a的值,也可以写成cout << a << endl;
指针变量也可以通过赋值来改变指针所指向的内存地址,例如:
int a = 10;
int *p = &a; // 将指针变量p指向变量a的内存地址
int b = 20;
p = &b; // 将指针变量p指向变量b的内存地址
指针可以作为函数参数传递。当指针作为参数传递时,被调用函数可以修改指针指向的变量的值。
例如:
void change(int *p)
{
*p = 20; // 将指针所指向的变量的值改为20
}
int main()
{
int a = 10;
int *p = &a; // 将指针变量p指向变量a的内存地址
change(p); // 将指针变量p作为参数传递给函数change
cout << a << endl; // 输出20
return 0;
}
指针和数组有着密切的关系。数组名相当于数组第一个元素的地址。
例如:
int arr[5] = {1, 2, 3, 4, 5};
cout << *arr << endl; // 输出1,相当于arr[0]
cout << *(arr+1) << endl; // 输出2,相当于arr[1]
通过指针访问数组元素也是很常见的操作。
例如:
int arr[5] = {1, 2, 3, 4, 5};
int *p = arr; // 将指针变量p指向数组第一个元素的内存地址,相当于p = &arr[0]
cout << *(p+2) << endl; // 输出3,相当于arr[2]
在C ++中,变量是用于存储数据的一种基本数据类型。指针是一个变量,存储了其他变量的内存地址。通过指针访问和修改变量的值非常重要,在程序中也经常使用指针和数组进行操作和传递参数。