C/C++
duzhi5368
- -何苦做游戏呢
展开
-
在CSDN的论坛中发现的两个小题目
在CSDN的论坛中发现的两个小题目#include#includevoid main(void){int i;int name[10];for(i=0;iname[i]=0;printf("done!");exit(1);}估计大家的第一反应就是数组越界.i然而结果并不是我们想象的数组越界报错.会根据编译器的不同触发不同的处理.首先解释一下.由于ESP是向下转载 2007-06-06 13:55:00 · 823 阅读 · 0 评论 -
排序算法总结
排序算法总结下,以便查找:一.冒泡 void BubbleSort(int a[], int n){ int i,j,tmp; int flag;, int count = 0; printf("initial sorting:"); PrintArray(a,n); for(i=0; i {flag = 0;转载 2007-06-06 14:11:00 · 853 阅读 · 0 评论 -
c编译器对内存的划分和使用
第一、C的编译器对内存空间的划分这里,编译器将内存划分成4个区,分别是栈区、堆区、全局/静态区、常量区。如果要更细地划分,还可以添加一个自由存储区;把全局区看作两部分,为初始化全局区和未初始化全局区。第二、程序中出现的不同量在内存中的保存int a = 0; //a:全局初始化区 char *p1; //全局未初始化区 main() { int b; //栈 char s[] = "abc";转载 2007-06-06 13:57:00 · 973 阅读 · 0 评论 -
编译和链接
/** A.h **/int i;/** A.c **/#i nclude "A.h"/** main.c **/#i nclude "A.h"int main(){ return 0;}这个程序是正确地,int i只是一个声明,所以在A.obj和Main.obj中并不会冲突假如把/** A.h **/int i; 修改为 int i = 5;那么这个i就变为了一个定义而不是声明,转载 2007-06-06 14:05:00 · 1222 阅读 · 2 评论