c语言常量指针和指针常量

c语言常量指针和指针常量一 常量指针 指向常量的指针 intconst p constint p p amp a p 可以改变指向 可以指向常量和非常量 但不能用 p 修改指向变量的值 二 指针常量 常量 存放的地址不能改变 int constp amp a 必须初始化 不能改变指向 1 指向非常量的指针常量 int constp amp a 只能指向非常量 因为 inta amp a 类型是 int 普通指针 不能指向常量 因为 constinta amp a 类

一、常量指针:指向常量的指针。

int const *p;或const int *p;

p = &a;

p可以改变指向,可以指向常量和非常量,但不能用*p修改指向变量的值。

二、指针常量:常量,存放的地址不能改变。

(1)指向非常量的指针常量:int *const p = &a;

只能指向非常量,不能指向常量(因为如果const int a,&a类型是int const *,常量指针,类型不匹配)。

可以修改指向变量的值。

(2)指向常量的指针常量:const int *const p = &a;

可以指向非常量和常量。

不可以修改指向常量的值,因为指向的是常量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177875.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午6:33
下一篇 2026年3月26日 下午6:33


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号