爱问 爱问共享资料 医院库

C语言中指针问题?

首页

C语言中指针问题?

int y; const int *p=&y; 为什么指向常整形的指针可以 赋予变量地址?

提交回答
好评回答
  • 2012-10-02 08:04:03
    你要搞清楚常量指针和指针常量的区别。。
    常量指针--指向字符串常量,所指向的字符串内容不能变,但是指向的地址可以变化
    指针常量--指针本身是常量,指向的地址不可以变化,但是指向的地址所对应的内容可以变化
    所以这里const int *p是常量指针,对指针的地址进行改变是允许的  而指针所指的内容是不能变化的  而申明了一个变量  他只是把地址给了指针
    希望能给你帮助。
    

    Bb8ojk...

    2012-10-02 08:04:03

其他答案

    2012-10-02 08:29:26
  • 弄清楚一个概念:变量地址不等同于变量。初始化后,变量地址是被系统赋予的一块指定的区域,变量地址本身不是变量。而指针则指向这块儿区域的首地址。所以按照问题中提到的方式赋值是可以的

    182332...

    2012-10-02 08:29:26

  • 2012-10-02 08:16:26
  • 采用"近水楼台先得月"的方法:即忽略数据类型的存在,再看const离谁最近.int* 离p近,说明p的指向不能变,即p开始指向哪个变量就只能指向这个变量,不能更改.但p指向的变量可以变.intconst*p:const离*p近,说明p的指向可能变,但p指向的变量不可以变.constint*p同intconst*p.int*constP;非常量数据,常量指针constintconst*P;常量数据,常量指针constint*p;常量数据,非常量指针你要搞清楚常量指针和指针常量的区别。。常量指针--指向字符串常量,所指向的字符串内容不能变,但是指向的地址可以变化指针常量--指针本身是常量,指向的地址不可以变化,但是指向的地址所对应的内容可以变化所以这里constint*p是常量指针,对指针的地址进行改变是允许的而指针所指的内容是不能变化的而申明了一个变量他只是把地址给了指针

    影约whl

    2012-10-02 08:16:26

类似问题

换一换
  • 程序设计 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

爱问推荐

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈
关注
爱问

关注爱问微信公众号,开启知识之旅,随时随地了解最新资讯。

确定举报此问题

举报原因(必选):