| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 608 人关注过本帖
标题:[讨论] 为什么会这样??这是c语言论坛么?
取消只看楼主 加入收藏
达达
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2005-5-26
收藏
 问题点数:0 回复次数:0 
[讨论] 为什么会这样??这是c语言论坛么?
看拉若干天前 有人的一个求助,问  *(a+1)=a[1] ?
看到好多高人在上面7 说8 说的,偶是个菜鸟,可偶这点还是高懂拉的。


在c语言中,数组的实现方法上只有一维的概念,多维数组被看成以下一级数组为元素的一维数组。就一上面的问题为列:
一;a ,a[1],均为地址常量,但是a的类型是int (*)[3],既数组指针。而a[1]的类型为int *,既整形指针。
二;a和a[1]的值与&a[1][0]相同。
所以 a+i 是以一维数组为元素而移动的,当 i 取1时  指针在逻辑结构上说是向下移动一行,但是要注意的是,这时 a+1 并不指向元素a[1][0],而是指向a[1][0]地址,既&a[1][0]或者a[1],再取内容后就是a[1]了!!
形象点说:就是在2维数组的基础上虚构拉一个一维数组。
  a------a[0]-----a[0][0],a[0][1]
a+1-----a[1]-----a[1][0],a[1][1]
基本上偶算是讲明白拉,要是再不明白那偶也没办法拉。
可再这里偶想说的是:为什么会产生那样的争论??
争论的主题不再问题没上,而是人身攻击!~!~
大家来到这个论坛,都是喜欢编程的人,在一起探讨,在一起学习,可是
虽然偶在这里的时间不多,但看看偶们的论坛,真正求助的帖子没人回!~!~~~~
不知道 是太简单拉还是大家都不会!~偶是菜鸟,偶有许多问题不明白,所以偶到这里来向高手请教,但是至今偶没从中收益到什么~~~可是回复多的帖子都是些转贴,技术含量不高的东西。
偶们这里的技术区 不是文学论坛 也不是随便的烂坛子~~
技术是关键!~~
还是那句话,偶是华中科技计算机专业的大一新生,想为中国软件业之振兴而奋斗,但偶知道偶还嫩的很,所以请多多指教!~~~~
搜索更多相关主题的帖子: c语言 
2005-05-31 14:17
快速回复:[讨论] 为什么会这样??这是c语言论坛么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018006 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved