我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: [求助]问个简单的问题,达人暴入 隐藏签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

詹姆斯



性别: 保密 状态: 该用户目前不在线
头衔: 再见5C5
等级: 鹤立鸡群
发贴: 1354
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-08-12
最后登陆: 2008-01-04

5come5帮你背单词 [ bank /bæŋk/ n. 银行,库,堤,岸 ]


[求助]问个简单的问题,达人暴入

用指针代替用数组下标进行寻址的运行速度要快一些吗?
为什么?
顶端 Posted: 2007-05-06 22:03 | [楼 主]
依然随意



性别: 帅哥 状态: 该用户目前不在线
等级: 前途无量
家族: ⊙JAY菊爱园⊙
发贴: 5922
威望: 0
浮云: 760
在线等级:
注册时间: 2006-09-25
最后登陆: 2022-10-30

5come5帮你背单词 [ clumsy /'klΛmzi/ a. 笨拙的,手脚不灵活的 ]


不知道,同求答案。
顶端 Posted: 2007-05-06 22:39 | [1 楼]
Index



性别: 保密 状态: 该用户目前不在线
头衔: 取酒独就
等级: 人见人爱
家族: 唯war独尊
发贴: 3901
威望: 0
浮云: 1197
在线等级:
注册时间: 2005-03-01
最后登陆: 2008-03-09

5come5帮你背单词 [ supreme /sju:'pri:m/ a. (权力,地位等)最高的,(程度等)最高的,至上的 ]


我觉得是不会
轻轻的我走了
  正如我轻轻的来
顶端 Posted: 2007-05-06 22:45 | [2 楼]
Index



性别: 保密 状态: 该用户目前不在线
头衔: 取酒独就
等级: 人见人爱
家族: 唯war独尊
发贴: 3901
威望: 0
浮云: 1197
在线等级:
注册时间: 2005-03-01
最后登陆: 2008-03-09

5come5帮你背单词 [ mother /'mΛðə/ n. 妈妈,母亲 ]


因为数组也是按照指针的方式来访问的
轻轻的我走了
  正如我轻轻的来
顶端 Posted: 2007-05-06 22:47 | [3 楼]
詹姆斯



性别: 保密 状态: 该用户目前不在线
头衔: 再见5C5
等级: 鹤立鸡群
发贴: 1354
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-08-12
最后登陆: 2008-01-04

5come5帮你背单词 [ signal /'signəl/ n. 信号,暗号;vt. 用信号发送或通知,能动作示意;vi. 发信号 ]


Quote:
引用第2楼Index于2007-05-06 22:45发表的:
我觉得是不会


但是答案是会
就是不知道为什么~
顶端 Posted: 2007-05-06 23:28 | [4 楼]
詹姆斯



性别: 保密 状态: 该用户目前不在线
头衔: 再见5C5
等级: 鹤立鸡群
发贴: 1354
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-08-12
最后登陆: 2008-01-04

5come5帮你背单词 [ attract /ə'trækt/ vt. 吸引,引诱 ]


请达人解释下~
顶端 Posted: 2007-05-06 23:29 | [5 楼]
X



社区建设奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 这一刻,我......
等级: 管理员
家族: 活动仔
发贴: 22586
威望: 10
浮云: 142
在线等级:
注册时间: 2005-10-10
最后登陆: 2024-04-15

5come5帮你背单词 [ everywhere /'evriw/ə/ ad. 处处,无论何处 ]


指针是一下到位,
数组要从数组的第一个指针开始逐个找

个人观点


[ 此贴被X在2007-05-07 08:59重新编辑 ]
5COME5鬼门开

又回到对着电脑无限刷新5C的年代了
3级杀毒光环
顶端 Posted: 2007-05-07 08:51 | [6 楼]
詹姆斯



性别: 保密 状态: 该用户目前不在线
头衔: 再见5C5
等级: 鹤立鸡群
发贴: 1354
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-08-12
最后登陆: 2008-01-04

5come5帮你背单词 [ lab /læb/ n. 实验室 ]


Quote:
引用第7楼chris_zley于2007-05-07 12:39发表的:
应该从存储方式分析吧。。。算了。。不乱说了。。。


我觉得也应该是这样的~~
顶端 Posted: 2007-05-08 09:33 | [7 楼]
yinx



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 丢丢
发贴: 2333
威望: 0
浮云: 1260
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ ahead /ə'hed/ ad. 在前,提前 ]


我也不知道哦.

自强不息!
顶端 Posted: 2007-05-08 13:32 | [8 楼]
myxxn



性别: 保密 状态: 该用户目前不在线
等级: 人见人爱
发贴: 2234
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-10-04
最后登陆: 2010-10-09

5come5帮你背单词 [ welcome /'welkəm/ a. 受欢迎;v. n. & int. 欢迎 ]


Quote:
引用第6楼X于2007-05-07 08:51发表的:
指针是一下到位,
数组要从数组的第一个指针开始逐个找

个人观点

那岂不是成链表了 求达人解释
这是个恋爱的季节
空气里都是情侣的味道
孤独的人是可耻的...
顶端 Posted: 2007-05-08 17:18 | [9 楼]
yinx



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 丢丢
发贴: 2333
威望: 0
浮云: 1260
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ lovely /'lΛvli/ a. 美丽的,可爱的,有趣的,令人愉快的 ]


我用OD跟了一下:

Copy code
int main(int argc, char* argv[])
{
  int aa[10];
  int i;
  printf("Hello!");
  for(i=0;i<10;i++)
    aa[i]=2;
  return 0;
}

反汇编得到:
Copy code
00401028   |. 68 802E4200       push test.00422E80               ; /format = "Hello!"
0040102D   |. E8 4EC60000       call test.printf                 ; \printf
00401032   |. 83C4 04         add esp,4
00401035   |. C745 D4 00000000   mov dword ptr ss:[ebp-2C],0
0040103C   |. EB 09           jmp short test.00401047
0040103E   |> 8B45 D4         /mov eax,dword ptr ss:[ebp-2C]
00401041   |. 83C0 01         |add eax,1
00401044   |. 8945 D4         |mov dword ptr ss:[ebp-2C],eax
00401047   |> 837D D4 0A         cmp dword ptr ss:[ebp-2C],0A
0040104B   |. 7D 0D           |jge short test.0040105A
0040104D   |. 8B4D D4         |mov ecx,dword ptr ss:[ebp-2C]
00401050   |. C7448D D8 02000000   |mov dword ptr ss:[ebp+ecx*4-28],2
00401058   |.^ EB E4           \jmp short test.0040103E


Copy code
int main(int argc, char* argv[])
{
  int aa[10];
  int i;
  int *p;
  printf("Hello!");
  p=aa;
  for(i=0;i<10;i++,p++)
    *p=2;
  return 0;
}

反汇编得到:
Copy code
0040D718   |. 68 802E4200       push test.00422E80               ; /format = "Hello!"
0040D71D   |. E8 5EFFFFFF       call test.printf                 ; \printf
0040D722   |. 83C4 04         add esp,4
0040D725   |. 8D45 D8         lea eax,dword ptr ss:[ebp-28]
0040D728   |. 8945 D0         mov dword ptr ss:[ebp-30],eax
0040D72B   |. C745 D4 00000000   mov dword ptr ss:[ebp-2C],0
0040D732   |. EB 12           jmp short test.0040D746
0040D734   |> 8B4D D4         /mov ecx,dword ptr ss:[ebp-2C]
0040D737   |. 83C1 01         |add ecx,1
0040D73A   |. 894D D4         |mov dword ptr ss:[ebp-2C],ecx
0040D73D   |. 8B55 D0         |mov edx,dword ptr ss:[ebp-30]
0040D740   |. 83C2 04         |add edx,4
0040D743   |. 8955 D0         |mov dword ptr ss:[ebp-30],edx
0040D746   |> 837D D4 0A         cmp dword ptr ss:[ebp-2C],0A
0040D74A   |. 7D 0B           |jge short test.0040D757
0040D74C   |. 8B45 D0         |mov eax,dword ptr ss:[ebp-30]
0040D74F   |. C700 02000000     |mov dword ptr ds:[eax],2
0040D755   |.^ EB DD           \jmp short test.0040D734




可以看到,
Copy code
aa [ i ] =2;

被VC6编译成
0040104D   |. 8B4D D4         |mov ecx,dword ptr ss:[ebp-2C]
00401050   |. C7448D D8 02000000   |mov dword ptr ss:[ebp+ecx*4-28],2

Copy code
*p=2;

被VC6编译成
0040D74C   |. 8B45 D0         |mov eax,dword ptr ss:[ebp-30]
0040D74F   |. C700 02000000     |mov dword ptr ds:[eax],2

少了一个加法,乘法和减法的运算.
至于cmp dword ptr ss:[ebp-2C],0A以上的部分,反而变多了是我写程序的问题,不关指针的事.




不知道我这样解释可不可以呢?

PS.我就是那天向LZ买CPLD实验板的人,LZ多多关照哦~~~


[ 此贴被yinx在2007-05-09 12:41重新编辑 ]

自强不息!
顶端 Posted: 2007-05-08 19:15 | [10 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.008274(s) query 5, Time now is:11-23 15:24, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号