免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1482 | 回复: 8
打印 上一主题 下一主题

const的用法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-25 15:09 |只看该作者 |倒序浏览
int main()
{
        const char *p = "this is a test\n";
        p = "xhl";
        printf("p = %s\n", p);
                char * const p1 = "this is a test\n";
          memcpy(p1, "xie", 3);
                printf("p1 = %s\n", p1);
}

const char *p;和char * const p;这两个的区别。
const char *p是指针不能改变。其值可以变。
char * const p是指针的值不能改变。其指针可以变。
但是,上面的程序还能够运行呢。
请那位大虾指点。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-10-25 15:16 |只看该作者

const的用法

const (char *)就是说*p不能变了。
char *(const p)就是说p不能变了。
如此而已,不要把指针理解复杂了。

论坛徽章:
0
3 [报告]
发表于 2004-10-25 15:27 |只看该作者

const的用法

我觉得我理解得没有问题啊,
但是,为什么,我上面写的程序能够运行啊,
不理解啊,

论坛徽章:
1
15-16赛季CBA联赛之四川
日期:2016-02-15 17:12:32
4 [报告]
发表于 2004-10-25 15:36 |只看该作者

const的用法

char a[10]="hello";
const (char *) p=a;//常量指针
char * (const pp)=a;//指针常量
memcpy(p,"world",5);//error
p++;//right
memcpy(pp,"world",5);//right
pp++;//error;

论坛徽章:
0
5 [报告]
发表于 2004-10-25 15:43 |只看该作者

const的用法

void main()
{
       
        const char *p = "this is a test\n";
        memcpy(p, "xie", 3);
  
        printf("p = %s\n", p);
   
    char * const p1 = "this is a test\n";
      p1 = "xhl";
    printf("p1 = %s\n", p1);
   return;
}

const char *p是值不能改变。其地址可以变。
char * const p是指针的地址不能改变。其值可以变。

终于搞明白了。
谢谢各位大虾。

论坛徽章:
0
6 [报告]
发表于 2004-10-25 15:52 |只看该作者

const的用法

wujiajia精灵王讲的正确,谢谢拉。

论坛徽章:
0
7 [报告]
发表于 2004-10-25 16:18 |只看该作者

const的用法

char * const p1 = "this is a test\n";
为什么我在linux下错误,说p1没指定??请高手帮忙

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2004-10-25 16:24 |只看该作者

const的用法

偶直接从你这里粘下来的,木有问题呀。你用的是什么编译器啊?

论坛徽章:
0
9 [报告]
发表于 2004-10-25 16:32 |只看该作者

const的用法

aero,呵呵,抱歉,我少打了个n,粗心,该打,谢谢.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP