📅  最后修改于: 2023-12-03 14:39:54.244000             🧑  作者: Mango
在C++中,指针是一种非常重要的数据类型。它们允许程序员直接访问物理内存,并在程序中使用动态数值。本篇文章将介绍C++中指针的第三个问题:指针的指向。
指针是指向其他变量的变量。它们存储其他变量的内存地址,这些内存地址可以用于读取或写入变量的值。指针的指向是指一个指针变量所指向的地址。
在C++中,可以通过将变量的地址与指针变量关联来创建指针变量。以下是创建指针变量的一些示例:
int x = 10;
int *ptr = &x;
在上面的代码中,我们创建了一个整数变量x
并将其设置为10。然后,我们创建了一个整数型指针变量ptr
并将其初始化为&x
,即x
的地址。这样,ptr
指向了x
的内存地址。
可以使用*
运算符来访问指针所指向的值,也可以使用&
运算符来访问指针变量所指向的地址。以下是一些示例:
cout << *ptr << endl; //输出10
cout << ptr << endl; //输出x的地址
cout << &ptr << endl; //输出ptr的地址
在上面的代码中,第一行输出了指针所指向的值,即x
的值。第二行输出了指针变量所指向的地址,即x
的地址。第三行输出了指针变量的地址,即指针变量ptr
自己的地址。
在C++中,指针变量还可以指向动态分配的内存块。以下是一些示例:
int *ptr = new int; //动态分配一个整型内存块
*ptr = 20; //将这个内存块设置为20
cout << *ptr << endl; //输出20
delete ptr; //释放内存
在上面的代码中,我们使用new
运算符动态分配了一个整型内存块,并将其设置为20。然后,我们输出了指针所指向的值,并使用delete
运算符释放了这个内存块。
指针是C++中非常重要的数据类型,它允许程序员直接访问内存并在程序中使用动态数值。指针的指向是指一个指针变量所指向的地址,它可以指向其他变量或动态分配的内存块。程序员必须小心确保指针变量始终指向有效的地址,以免引发运行时错误。