中定義的參數和函數體內定義的變量有什么區別?
從內存角度來講,函數參數是一定保存到棧區的,函數體內定義的變量可以保存到棧區,比如局部變量,也可以保存到靜態數據區,比如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;}