- 程序的编译和程序的执行是两个完全不同的过程。程序的编译过程是按照源代码的文本顺序一句一句进行编译的,而程序的执行和过程则是按照语法规则和逻辑关系进行的。一个程序的编写首先得先通过编译器的编译。编译器在编译变量的时候是不对变量进行赋值的,变量的赋值是在程序的运行时被赋值的。例如下面的代码就不能通过编译:
const int n=10;
int ar[n]={0,1,2,3,4,5,6,7,8,9}
编译的时候n的值并不知道,运行的时候n才被赋值。
2.函数由四部分组成:函数的返回类型+函数名(形参)
{
函数体
}
3.程序的编写必须考虑两个因素:时间复杂度和空间复杂度。
在计算机中的存储可以分为四中:硬盘、内存、高速缓存、CPU中的寄存器。同样编译器在编译的时候也会考虑这两个要素。例如对于下面的代码:
void Printf-Array (int ar[10],int n)在经过编译器的预编译后就会变成下面的代码:void Printf-Array (int *ar[],int n)。如果严格按照之前的代码进行执行的话,就要传递整个数组过去,这是一个非常浪费时间和空间的做法。优化后则只需要传递数组元素的指针过去,这将大大节省程序运行的时间和占用的空间。编译器的这种做法也叫做数组名的退化。
4.return语句之后的语句是执行不到的。return后面是不能在有语句的。return意味着函数即将结束。
C语言学习
最新推荐文章于 2024-07-11 17:15:19 发布