📜  C ++中的变量与指针(1)

📅  最后修改于: 2023-12-03 14:39:39.134000             🧑  作者: Mango

C++中的变量与指针

在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 ++中,变量是用于存储数据的一种基本数据类型。指针是一个变量,存储了其他变量的内存地址。通过指针访问和修改变量的值非常重要,在程序中也经常使用指针和数组进行操作和传递参数。