指向常量的指针,指针常量,指向常量的指针常量,这三个东西有什么不同呀?我都看书看了N遍了 请大家用最通俗的语言解释
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/08/06 20:05:22
指向常量的指针,指针常量,指向常量的指针常量,这三个东西有什么不同呀?我都看书看了N遍了 请大家用最通俗的语言解释
![指向常量的指针,指针常量,指向常量的指针常量,这三个东西有什么不同呀?我都看书看了N遍了 请大家用最通俗的语言解释](/uploads/image/z/499334-14-4.jpg?t=%E6%8C%87%E5%90%91%E5%B8%B8%E9%87%8F%E7%9A%84%E6%8C%87%E9%92%88%2C%E6%8C%87%E9%92%88%E5%B8%B8%E9%87%8F%2C%E6%8C%87%E5%90%91%E5%B8%B8%E9%87%8F%E7%9A%84%E6%8C%87%E9%92%88%E5%B8%B8%E9%87%8F%2C%E8%BF%99%E4%B8%89%E4%B8%AA%E4%B8%9C%E8%A5%BF%E6%9C%89%E4%BB%80%E4%B9%88%E4%B8%8D%E5%90%8C%E5%91%80%3F%E6%88%91%E9%83%BD%E7%9C%8B%E4%B9%A6%E7%9C%8B%E4%BA%86N%E9%81%8D%E4%BA%86+%E8%AF%B7%E5%A4%A7%E5%AE%B6%E7%94%A8%E6%9C%80%E9%80%9A%E4%BF%97%E7%9A%84%E8%AF%AD%E8%A8%80%E8%A7%A3%E9%87%8A)
#include
using namespace std;
int main()
{
const int a=18;
const int *p=&a; // 这个是指向常量的指针,指针指向一个常量,可以指针可以自加
p++; //合法
int const *q=&a; // 这个和上面是一个意思
int b=19;
int * const r=&b; //这个就是常量指针(常指针),不能自加,并且有初始化
//r++; //编译出错
const int * const t=&b; //这个就是指向常量的常指针,并且要初始化,用变量初始化
//t++; //编译出错
p=&b; //const指针可以指向const和非const对象
//r=&a; //非const指针不能指向cosnt对象,编译出错
return 0;
}
using namespace std;
int main()
{
const int a=18;
const int *p=&a; // 这个是指向常量的指针,指针指向一个常量,可以指针可以自加
p++; //合法
int const *q=&a; // 这个和上面是一个意思
int b=19;
int * const r=&b; //这个就是常量指针(常指针),不能自加,并且有初始化
//r++; //编译出错
const int * const t=&b; //这个就是指向常量的常指针,并且要初始化,用变量初始化
//t++; //编译出错
p=&b; //const指针可以指向const和非const对象
//r=&a; //非const指针不能指向cosnt对象,编译出错
return 0;
}