本帖最后由 超神级 于 2014-3-30 23:20 编辑
//以下为错误教程!下面帖子为讨论...看着玩吧
本文的目的更透彻了解数据结构!基础篇.
先来段程序运行下;
#include<stdio.h>
int main()
{
int a,b,c;
printf("a=%d\nb=%d\nc=%d",&a,&b,&c);
printf("看到了吗!a+4=b,b+4=c的地址!\n");
system("pause");
return 0;
}
why!因为在程序编译的int a,b,c;会向系统请求一块大小为12个字节大小的内存空间所以内存空间是连续的(理论是这样的)!
(a,b,c是在编码、编译阶段的一个符号,在最终的可执行代码中是不存在的,所以不占空间)。
上面东西和数据结构有什么关系先别急嘛!请看下文分解!
我们要使用上面的东西来模拟下简单数组没有结构那些乱七八糟的东西只有一些大家都熟悉的东西.
#include<stdio.h>
int main()
{
int a,b,c;
int *p = &a;
p[0]=1;
p[1]=2;
p[2]=3;
printf("%d\n%d\n",a,b,c);
system("pause");
return 0;
}
/*
按照理论来讲应该没什么刚才我测试上面代码竟然报错也没调试出
原因!本来想写个教程的郁闷!、、后面还有半段内容等找出上面代码错误原因在继续写.
希望大神帮忙给个解答!上面代码为何错误.
*/
|