| 5分 | |
| 5分 | |
| 5分 |
简化版:
对于C来说,“类型”意味着可以声明该类型的变量,变量有地址,有内容,可以做操作。 比如int是种类型,可以声明该类型变量a,如int a = 0; a有地址:&a; a有内容:0; 可以对a做操作:a + 1; 函数类似,不过诚如LS某位所讲,函数不是first class的,所以某些概念需用指针来表达: 个人认为“类型”最重要的特征就是“有操作”(某种意义上来说就是OO中的method)。 |
| 5分 |
冯·诺依曼体系。
仅供参考: //仅对VC6
#include <stdio.h>
void fun1() {
int f1=1;
printf("fun1\n");
printf("fun1\n");
}
void fun2() {
int f2=2;
printf("fun2\n");
}
void fun3() {
}
void main() {
#ifdef _DEBUG
printf("sizeof(fun1)==%d\n",*(int *)((int)fun2+1)-*(int *)((int)fun1+1));
printf("sizeof(fun2)==%d\n",*(int *)((int)fun3+1)-*(int *)((int)fun2+1));
//sizeof(fun1)==59
//sizeof(fun2)==43
#else
printf("sizeof(fun1)==%d\n",(int)fun2-(int)fun1);
printf("sizeof(fun2)==%d\n",(int)fun3-(int)fun2);
//sizeof(fun1)==32
//sizeof(fun2)==16
#endif
}
|
|
说函数是一种数据类型的,你得去找他才能知道原委。
|
|