中定义的参数和函数体内定义的变量有什么区别?
从内存角度来讲,函数参数是一定保存到栈区的,函数体内定义的变量可以保存到栈区,比如局部变量,也可以保存到静态数据区,比如static变量。示例如下:#include <stdio.h>#include <locale.h>void f(int a, int b) {printf("%d\t%d\n", a, b);}int main(){int x =
1; //局部变量 保存到栈区static int y =
2; //static变量,保存到静态数据区f (x, y); //x和y必须保存在栈区return 0;}
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有