小时候...总走丢 发表于 2016-1-29 19:42:29

看看,看看

明年今日 发表于 2016-2-10 15:14:19

学习

辅助初学者 发表于 2016-2-10 21:54:41

感谢分享!努力学习!

mzbzhchh 发表于 2016-2-11 08:29:17


这个地方一直搞不懂

loo 发表于 2016-2-20 12:30:33

{:5_105:}

cococ 发表于 2016-2-21 01:16:42

额,看不懂,只能打个酱油- -

793856930 发表于 2016-2-25 22:09:57


感谢楼主分享!

shiwei 发表于 2016-2-26 10:25:54

谢谢分享

wfmyv 发表于 2016-3-19 18:22:03

支持小鱼,顶。

trackming 发表于 2016-3-19 23:47:27

点赞

trackming 发表于 2016-3-19 23:48:41

点赞

676835848 发表于 2016-4-17 15:36:08

adaafsdf

zhuozi 发表于 2016-4-17 19:11:50


zhuozi 发表于 2016-4-17 19:31:23

3.6存取效率的比较
char s1[] = /"a/";
char *s2 = /"b/";
a是在运行时刻赋值的;而b是在编译时就确定的;但是,在以后的存取中,在栈上的数组比指针所指向的字符串(例如堆)快。 比如:
int main(){
char a = 1;
char c[] = /"1234567890/";
char *p =/"1234567890/";
a = c;
a = p;
return 0;
}
对应的汇编代码
10: a = c;
00401067 8A 4D F1 mov cl,byte ptr
0040106A 88 4D FC mov byte ptr ,cl
11: a = p;
0040106D 8B 55 EC mov edx,dword ptr
00401070 8A 42 01 mov al,byte ptr
00401073 88 45 FC mov byte ptr ,al
第一种在读取时直接就把字符串中的元素读到寄存器cl中,而第二种则要先把指针值读到edx中,再根据edx读取字符,显然慢了。


这个地方有些不懂      a是在运行时刻赋值的;而b是在编译时就确定的;但是

okhaohao116 发表于 2016-4-18 23:59:37

0

fishlpc 发表于 2016-5-18 21:35:01

谢谢楼主分享

长渊 发表于 2016-5-19 19:47:45

多谢楼主

99101553@qq.com 发表于 2016-8-21 08:25:03

{:5_92:}
学习一下

newind 发表于 2016-9-4 14:49:50

写的非常好

Yo才俊Miao 发表于 2016-9-4 14:58:41

学习知识{:10_282:}
页: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15
查看完整版本: 内存分配方式、程序的内存空间、堆与栈的比较、new/delete与malloc/free比较