运行速度讨论
#include <stdio.h>;void main()
{
char a = 1;
char c[] = "1234567890";
char *p ="1234567890";
a = c[1];
a = p[1];
return;
}
在读取时a = c[1];a = p[1];中哪个存取更快些啊? 为什么
这里没有临时对象,字符串"1234567890"是存在全局数据区,p是个指针变量,指向全局数据区的该字符串地址,你可以试试在不同的函数中定义指针指向"1234567890"字符串。地址都是一样的
// #include "stdio.h" #include "conio.h" main() { int a[]={1,2,3,4,5,6,7,8,9,0}; int *b=a; int c,n; c=a[3];//12行 n=b[3];//13行 }
; ?debug L 12 mov ax,word ptr [bp-18] mov word ptr [bp-4],ax ; ?debug L 13 mov ax,word ptr [si+6] mov word ptr [bp-2],ax