最近学校有学到C++,而C++和C的语法在基础上差别并不大,于是直接跳到指针部分开始继续敲代码!
关于指针,可能大家都会觉得挺难的,但在写一些大型项目的时候,指针是无法避免的,当然,前提是使用C和C++写。
这里也不多说,直接开始贴代码。
指针也是一个变量,它有它的地址,也有自己的值,只不过它的值是别人的地址。而且这个值是可以改变的。
1.const修饰指针
常量指针:指针指向的值不可以改,指针的指向是可以更改的。
源代码:
#include <iostream>
using namespace std;
int main() {
int a,b;
a=10;
b=123;
const int *p=&a;
//const修饰指针,指针指向的值不可以改,指针的指向可以改
// *p=20;错误
cout <<"指针指向的值:"<< *p <<endl;
p=&b;
cout <<"改变指针指向后的值:"<< *p <<endl;
return 0;
}
运行结果:
2.const修饰常量
指针常量:指针的指向不可以更改,但指针指向的值是可以更改的。
源代码:
#include <iostream>
using namespace std;
int main() {
int a,b;
a=10;
b=123;
//const修饰常量
//指针的指向不可以改,指针指向的值可以改
int *const p1=&a;
*p1=111;
//p2=&b;错误
cout <<"指针指向的值:"<< *p1 <<endl;
return 0;
}
运行结果:
3.const修饰指针和常量
常量指针常量:指针的指向和指向的值都是不可以更改的。
源代码:
#include <iostream>
using namespace std;
int main() {
int a,b;
a=10;
b=123;
//const修饰指针和常量
//指针指向和指向的值都不可以更改
const int *const p2=&a;
//p3=&b;错误
//*p3= 30;错误
cout <<"指针指向的值:"<< *p2 <<endl;
return 0;
}
运行结果: