一,
1 用int声明空间和用malloc声明 有什么区别?
答:int申请的内存空间在栈中分配,而malloc申请的内存空间在堆中分配。
2 数组和链表有什么区别
答:数组和链表数据的组织在内存中分布不同,数组在内存中是连续的,而链表是靠指针索
引的。数组便于索引数据操作,而链表便于插入和删除操作。
3 一般都什么时候用到栈,举个例子
答:在分配局部变量、函数调用需要保存数据的场所均要用到栈。
4 怎样可以优化代码?
答:从程序的执行效率和占用的存储空间2方面考虑来优化。
5 怎样可以减小最后生成的 可执行文件的大小?
答:把程序中的调试信息删除,其次删除程序中生成的中间文件。
6 一个循环次数多的 一个次数少的 问怎样嵌套能够让其执行效率高些,是次数多的在外面
还是次数少的在外面?
C++/C 循环语句中,for 语句使用频率最高,while 语句其次,do 语句很少用。本
节重点论述循环体的效率。提高循环体效率的基本办法是降低循环体的复杂性。
建议4-4-1】在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的
循环放在最外层,以减少CPU 跨切循环层的次数。例如示例4-4(b)的效率比示例
4-4(a)的高。
for (row=0; row<100; row++)
{
for ( col=0; col<5; col++ )
{
sum = sum + a[row][col];
}
}
for (col=0; col<5; col++ )
{
for (row=0; row<100; row++)
{
sum = sum + a[row][col];
}
}
示例4-4(a) 低效率:长循环在最外层 示例4-4(b) 高效率:长循环在最内层
二,malloc,relloc,calloc的区别
申请动态数组
用动态申请的方法就可以了
简单写一些
int len;
int *p;
scanf( "%d", &len );
p=calloc(p*len);
三,c专家编程 和 C陷阱与缺陷
四,如何在vc里查找sprintf的原马
五,提高英语
六s1,&s1,&s1[0],s3都代表数组s1的起始地址。
但得注意sizeof(s1) =10; sizeof(&s1) = sizeof(s3) =4;