c语言编程笔录

首页 >   > 笔记大全

笔记大全

指针常量与常量指针举例说明

更新时间: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++中常用的指针类型,它们之间的区别在于指针常量的值不可更改,常量指针的地址不可更改。我们在实际编程时,需要根据需求来选择正确的指针类型。