|
发表于 2023-1-27 12:32:54
|
显示全部楼层
总得有一个名字呀,就是一个名字而已
你能解释一下一个手机为什么叫苹果,叫小米吗?
你如果生产手机的话,完全可以给你生产的手机取名叫棉花糖,这没问题,这和那些叫苹果的,叫小米的没有区别,就是一个名字
因为需要一个名字,所以这个名字叫“闭包”
确实,可以不叫这个名字,可以换一个名字
例如,叫嵌套函数,(Nested Function),可是就算是叫嵌套函数,你依然可以问,为什么要叫嵌套函数呀?
没有为什么,因为需要一个名字,所以这个名字叫嵌套函数
gcc中就是叫嵌套函数
- sh-5.1$ cat main.c
- #include <stdio.h>
- int main(void) {
- void swap(int *a, int *b) {
- int temp = *a;
- *a = *b;
- *b = temp;
- }
- int a = 1, b = 2;
- swap(&a, &b);
- printf("%d %d\n", a, b);
- return 0;
- }
- sh-5.1$ gcc -g -Wall -o main main.c
- sh-5.1$ ./main
- 2 1
- sh-5.1$
复制代码
总结:没有为什么,因为需要一个名字 |
|