鱼C论坛

 找回密码
 立即注册
查看: 3176|回复: 6

int * const a; const * int a;有什么区别

[复制链接]
发表于 2012-3-30 09:44:49 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 风扫地 于 2012-3-30 10:10 编辑

RT。。

int * const  a;    是指a值静态指针变量。指向的地址不能改变。
const *int a;   是什么意思?


求能说明的代码。。
比如说怎么用编译器就会报错。。

最佳答案

查看完整内容

从右向左读: int * const a; 这是一个a,a是常量,这个常量是指针,这个指针指向int类型. 所以: int b = 7, c=9; int * const a = &b;//OK a = &c;//error, a是常量 *a = 100;//OK,a指向的类型是int(不是const) const *int a; LZ写错了,应该为 const int *a;或 int const *a;这良种写法意思一样(const 在int的左或右都是修饰int的),个人建议用第二种写法,从右向左读: int const *a; 这是一个a,a是指针(*表示指针 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-3-30 09:44:50 | 显示全部楼层
本帖最后由 仰望天上的光 于 2012-3-30 12:40 编辑

从右向左读:
int * const  a;  
这是一个a,a是常量,这个常量是指针,这个指针指向int类型.
所以:
int  b = 7, c=9;
int * const  a = &b;//OK
a = &c;//error, a是常量
*a = 100;//OK,a指向的类型是int(不是const)


const *int a; LZ写错了,应该为
const int *a;或  int const *a;这良种写法意思一样(const 在int的左或右都是修饰int的),个人建议用第二种写法,从右向左读:
int const *a;
这是一个a,a是指针(*表示指针),这个指针指向常量(const是常量),这个常量是int类型的.
所以
int const  b = 7, c=9;
int const  *a ;//OK,a不是常量,所以可以不初始化
a = &b;//OK
a = &c;//OK, a不是常量
*a = 100;//error,a指向的类型是是const
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-30 10:31:34 | 显示全部楼层
const int *a 是说明a指向的数值不能变;
比如:
b = 5;
const int *a = &b;
*a = 10; //错误,*a 是个const
++a; //正确,a本身不是const

int * const a 是说明a这个指针本身不能变;
比如;
b = 5;
int * const a = &b;
*a = 10; //正确,可以赋值
++a; //错误,a本身是const

评分

参与人数 1鱼币 +5 收起 理由
风扫地 + 5 感谢关注。

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-3-30 10:47:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-30 11:00:38 | 显示全部楼层
个人感觉,应该一样吧。。如果不一样求高手解答

评分

参与人数 1鱼币 +5 收起 理由
风扫地 + 5 感谢关注

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-3-30 14:37:15 | 显示全部楼层
仰望天上的光 发表于 2012-3-30 12:39
从右向左读:
int * const  a;  
这是一个a,a是常量,这个常量是指针,这个指针指向int类型.

关于const * int  a;
我测试了下面的代码。应该也是静态变量指针。不过很少见这种写法。感谢解惑。

#include "iostream"
using namespace std;

int main()
{
        const * int a;
        int a1;
        int a2;
        a=&a1;
        a=&a2;
        *a = 30;

        return 1;
}


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-1 19:45:58 | 显示全部楼层
暂时还未学到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 17:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表