指向常量的指针变量可以指向变量吗?

 我来答
White_MouseYBZ
推荐于2018-05-09 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6710万
展开全部

那要看指针是不是常指针。是则不行,不是则可以。请看:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    const int a=7,*p;//这个p自身不是常量
    const int x=100,*const q=&x;//这个q自身是常量,所以必须初始化
    int b=200;
    p=&a;//先让p指向a
    printf("%d %d\n",*p,*q);
    p=&b;//p由指向a变为指向b是合法的,因为p不是常量
    //q=&a;//这是非法的,连编译都不会过,因为q声明的是只能指向x的常量指针
    printf("%d %d\n",*p,*q);
    return 0;
}

输出是

7 100

200 100

还有个典型的例子:

char ch,*s="1234567";//s也是指向常量字符串的指针

s=&ch;//让s改指向字符ch也是合法的。

匿名用户
2016-01-16
展开全部
指向常量的指针 是什么意思?
举个例子(写代码)
追问
const int *p;
int y;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式