指针常量与常量指针举例说明
更新时间:2023-10-24指针常量与常量指针举例说明
什么是指针常量?
指针常量是一个指针,它被限制为只能指向一个值,在整个程序执行期间都不能改变指向。指针本身是可以改变的,但是指针指向的值不可以修改。声明指针常量时,可以使用const关键字。以下是一个指针常量的例子:
const int* p;
上述代码中,p是一个指针常量,它指向一个整数值。因为p是一个指针常量,所以不能用p来修改它所指向的整数值。但是可以通过其他方式来修改这个值。
什么是常量指针?
常量指针是一个指针,它指向一个值,在整个程序执行期间都不能改变指向。指针指向的值本身是可以修改的,但是指针本身不可以修改。声明常量指针时,需要将指针名放在const关键字前面。以下是一个常量指针的例子:
int* const p=#
上述代码中,p是一个常量指针,它指向一个整数值num。因为p是一个常量指针,所以不能用p来修改指向的地址。但是可以通过其他方式来修改这个值。
指针常量与常量指针区别
指针常量和常量指针的区别在于,指针常量的值不可更改,但是它指向的值是可以更改的;而常量指针指向的地址不可更改,但是它指向的值是可以更改的。
以下是一个示例程序来说明指针常量和常量指针的区别:
#include <iostream> using namespace std; int main() { const int a=10; const int* p=&a; int b=5; int* const q=&b; cout << "a=" << a << endl; cout << "b=" << b << endl; cout << "*p=" << *p << endl; cout << "*q=" << *q << endl; b=*p; cout << "a=" << a << endl; cout << "b=" << b << endl; cout << "*p=" << *p << endl; cout << "*q=" << *q << endl; return 0; }
在上述程序中,a被定义为一个常量,p是一个指向常量的指针,q是一个常量指针。当我们定义好变量后,在程序执行时,a和b的值不能改变。但是通过指针p和q所指向的值还是可以改变的。
总结
指针常量和常量指针是C++中常用的指针类型,它们之间的区别在于指针常量的值不可更改,常量指针的地址不可更改。我们在实际编程时,需要根据需求来选择正确的指针类型。