CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

所有的数组名都是指针而且是常量指针,不能对其赋值!这句话是正确的吗?

楼主SHEN6()2006-07-01 22:40:08 在 C/C++ / C++ 语言 提问

所有的数组名都是指针而且是常量指针,不能对其赋值!这句话是正确的吗? 问题点数:0、回复次数:15Top

1 楼fireseed(【VC无敌,英明神武,千秋万代,一统江湖!】—奶油狗)回复于 2006-07-02 03:46:03 得分 0

对Top

2 楼fireseed(【VC无敌,英明神武,千秋万代,一统江湖!】—奶油狗)回复于 2006-07-02 03:46:28 得分 0

类似的还有函数名Top

3 楼htqx(航天奇侠)回复于 2006-07-02 03:47:59 得分 0

正确。  
   
  参数中的数组有点不同。  
  Top

4 楼A_B_C_ABC(黄瓜@YouCanDoIt)回复于 2006-07-02 07:55:53 得分 0

我觉得可以这样理解,那将使问题简化。  
   
  数组名是不是指针,在csdn的高手中也存在争议。去年一个呢称为“飞天御剑流之杀神一刀斩”的星级高手就坚决反对数组名是常量指针的说法,同意他的观点的人也不少,结果形成两派观点,谁也说服不了谁。Top

5 楼houdy(致力于图像/图形领域,成为有思想的程序员)回复于 2006-07-02 09:23:39 得分 0

所有的数组名都是指针而且是常量指针,不能对其赋值!这句话是正确的吗?  
  >>   错误的,虽然在很多情况下,他们是可以相互替换的,但是他们是完全不同的两个概念。  
  不要被数组名是常量指针这样的说法"忽悠"了.具体的分析看这个网址:  
  http://c-faq.com/aryptr/aryptr2.htmlTop

6 楼triace_zhang(『雪梨码头』)回复于 2006-07-02 09:29:32 得分 0

不认为数组名是个常量指针。一个常量指针是不能直接赋值给非const变量指针参数的。Top

7 楼fireseed(【VC无敌,英明神武,千秋万代,一统江湖!】—奶油狗)回复于 2006-07-02 12:34:18 得分 0

一个特殊的指针而已,除非你否认一个数组名并不指向一段内存地址Top

8 楼triace_zhang(『雪梨码头』)回复于 2006-07-02 12:39:16 得分 0

汗,如果这么说,那么除了常量表里面的常量,其他所有的都是指针,都指向一段内存。  
  int   a   =   1;   a也指向一段内存,所以a也是个指针?Top

9 楼jeansberr(松树棚子)回复于 2006-07-02 13:14:03 得分 0

“不认为数组名是个常量指针。一个常量指针是不能直接赋值给非const变量指针参数的。”  
   
  我理解的常量指针是个指向常量的指针。数组名是不是可以理解为一个指针常量?Top

10 楼fdimim(猿莫求愚√))回复于 2006-07-02 13:31:44 得分 0

纯粹路过也学习了。  
   
  houdy(致力于图像/图形领域,成为有思想的程序员)   的那个链接讲的很明白。Top

11 楼fireseed(【VC无敌,英明神武,千秋万代,一统江湖!】—奶油狗)回复于 2006-07-02 13:58:49 得分 0

int   a   =   1  
   
  如果你可以这样用:int   *p   =   a,那么a就是指针Top

12 楼fireseed(【VC无敌,英明神武,千秋万代,一统江湖!】—奶油狗)回复于 2006-07-02 14:00:13 得分 0

我认为,只要某一个变量在这样的语句中:cout   <<   p;   打印出来的是一个16进制的内存地址的话,这个p就是一个广义上的指针Top

13 楼triace_zhang(『雪梨码头』)回复于 2006-07-02 14:23:58 得分 0

纯理论和实现是不同的,如果从理论上来谈,指针和数组是不同的。从编译器实现的角度上,任何实例都是内存块的分配和操作,从这种意义上来说,任何变量,包含常量,都是指针(内存块读写)的实现。如果把这个叫做广义指针的话,我没意见。Top

14 楼lddLinan(不再五行中)回复于 2006-07-02 15:35:28 得分 0

可以把数组名看成引用,不能被修改,必须初始化Top

15 楼yulin001122()回复于 2006-07-02 21:43:08 得分 0

*a   可以用吗??  
  a   =   b可以用吗??  
  是不是常量数组   这种问题感觉没有任何意义   好象就是蛋早还是鸡早,就算你赢了又能怎么样呢??  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:SHEN6

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo