哪个访问速度快!
来源:互联网 发布:iphone6灰色软件删不掉 编辑:程序博客网 时间:2024/04/29 05:38
看如下代码,访问c,和p的数据,哪一个更快,还是一样?
void main()
{
char a = 1;
char c[] = "1234567890";
char *p ="1234567890";
a = c[1];
a = p[1];
return;
}
这还有区别?有也,我也是看了别人的分析,才明白。
c为数组,指向栈内存, p为指针,指向堆内存
赋值方式不同:
11: char c[] = "1234567890";汇编代码如下:
0040D6C9 mov eax,[string "1234567890" (00422fb4)]
0040D6CE mov dword ptr [ebp-10h],eax
0040D6D1 mov ecx,dword ptr [string "1234567890"+4 (00422fb8)]
0040D6D7 mov dword ptr [ebp-0Ch],ecx
0040D6DA mov dx,word ptr [string "1234567890"+8 (00422fbc)]
0040D6E1 mov word ptr [ebp-8],dx
0040D6E5 mov al,[string "1234567890"+0Ah (00422fbe)]
0040D6EA mov byte ptr [ebp-6],al
12: char *p ="1234567890";汇编代码如下:
0040D6ED mov dword ptr [ebp-14h],offset string "1234567890" (00422fb4)
访问方式如下:
13: a = c[1];0040D6F4 mov cl,byte ptr [ebp-0Fh]
0040D6F7 mov byte ptr [ebp-4],cl
14: a = p[1];
0040D6FA mov edx,dword ptr [ebp-14h]
0040D6FD mov al,byte ptr [edx+1]
0040D700 mov byte ptr [ebp-4],al
可见数组访问更快呀!
- 哪个访问速度快!
- 串行, 并行,速度哪个更快。
- 复制和剪切, 哪个速度更快?
- i++和++i哪个速度较快?
- hashmap和数组哪个速度快
- ++num和num++哪个执行速度更快,++num为什么会比num++速度快
- 优化代码,看看哪个执行速度更快!!!
- 优化代码,看看哪个执行速度更快!!!
- 单链表与List<T>究竟哪个遍历速度快?
- java中int与short哪个速度更快?
- 如果使网页访问速度更快
- differenct between count(0), count(1) and count(*)[哪个执行速度快?]
- STL的vector与MFC的CArray哪个速度更快?
- ArcGIS开发帮助文档地址--国内访问速度较快
- 寄存器比内存访问速度快的原因
- 利用指针访问数组元素与下标法访问哪个更快
- scp和rsync哪个快?
- OpenLayers加载高德地图(谷歌暂时访问不了,那就访问国内地图吧,速度更快)
- Nesting ARM asm into c code
- 关于ecplise运行J2ME的问题?
- ABAP trial 过期之解决办法。
- 三星集团董事长李健熙涉嫌匿名持股遭调查
- Obstack in glibc
- 哪个访问速度快!
- Booting cpio filesystem in Redboot embedded system
- MS msc file type
- 闪联4个提案获全票通过 08年将正式成国际标准
- Awk vs MS Excel
- String substitution in scripts
- Dump memory using gdb
- 谷歌三巨头去年再度领取一美元年薪
- 存储过程