Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18144
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 58
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-29 18:43
文章分类
文章存档

2014年(5)

我的朋友

分类: C/C++

2014-03-29 18:51:50


点击(此处)折叠或打开

  1. #include<stdio.h>

  2. void fun(const int *p)
  3. {
  4.     int **pp = &p;
  5.     **pp = 89;
  6. }

  7. int main(void)
  8. {
  9.     //请注意,关键字const并不能把变量变成常量!!!在一个符号前加上const限定符
  10.     //仅仅表示这个符号不能被【赋值】也就是它的值对于这个符号来说是【只读的】
  11.     //但是这并不能防止通过程序内部甚至是外部的方法修改这个值
  12.     //const常用来限定函数的形参,这样改函数不能修改实参所指的数据(老实说还是可以.见fun函数),但是其他函数可以

  13.     const int limit = 10;

  14.     //表示 limit_p 指向的变量值不能被改变,但是 limit_p 指针本身的值可以改变
  15.     //它可以指向别的地方,然后解引用得到不同的值.
  16.     const int * limit_p = &limit;
  17.     int ** limit_pp;
  18.     int i = 30;

  19.     printf("now limit_p 指向 i,*limit_p = %d \n",*limit_p);
  20. // *limit_p = 10;

  21.     limit_p = &limit;
  22.     limit_pp = &limit_p;
  23.     **limit_pp = 99;

  24. // fun(&limit);

  25.     printf("通过二级指针,修改了 const int limit = 10:此时\nlimit = %d\n",limit);

  26.     return 0;
  27. }


阅读(1035) | 评论(2) | 转发(0) |
0

上一篇:没有了

下一篇:more命令简单实现

给主人留下些什么吧!~~

do_my_heart2014-03-31 12:33:46

7大爷

文明上网,理性发言...

回复 | 举报

7大爷2014-03-31 09:49:10