2.1 数据类型及源程序结构
TinyC 中变量只有 int 一种数据类型(32位),函数的返回值可以声明为 int 和 void 两种类型,但编译器会自动为 void 函数返回一个 int 值。不支持全局变量,只有局部变量,变量须先声明再使用,且变量声明必须放在函数体的最前面,不支持声明变量的时候赋初值。
不支持函数原型声明,函数声明必须和定义在一起,函数无需先定义再使用。整个程序必须有一个不带参数的 main 函数,此为程序的入口。
“//…” 以及 “#…” 为单行注释。不支持 #include 等预处理命令,不支持多行注释。
典型的 TinyC 源程序是由一个个的函数定义组成的,如下:
- int main() {
- int a, b;
- int c, d; // 变量声明必须放在函数体的最前面
- a = 0;
- ...
- }
- void func1(int a, int b) {
- ...
- }
- ...
TinyC 函数体内的语句只有四种:赋值语句、函数调用语句、控制语句( if 语句)和循环语句( while 语句)。赋值语句中,左边为变量名,右边为表达式,一个只含有表达式(函数调用除外)的语句是不合法的,如下:
- a = 1 + a; // 合法
- sum(1, 2); // 合法
- if (a > 0) { ... } // 合法
- while (a < 0) { ... } // 合法
- 1; // 不合法
- 1 + 2; // 不合法