如;include <stdio.h>int a=1,s=0void mian(){}和#include <stdio.h>void main(){inta=1,s=0;}
2 回答

喵喔喔
TA貢獻1735條經驗 獲得超5個贊
對于局部變量用static聲明,則是為該變量分配的空間在整個程序的執行期內都始終存在,外部變量用static來聲明,則該變量的作用只限于本文件模塊。解決方法如下:
1、首先定義指針的方式void (*p2)();//表示指針,p2 = printfwelcome;//函數就是地址。
2、還可以定義指針的方式,p2();//1.直接通過指針名字調用,(*p2)();//2.取內容(*指針名字)。
3、接著輸入int (*padd)(int a,int b);padd = add;int ret = (*padd)(1,2);printf("ret=%d\n",ret)。
4、然后寫出printfwelcome函數。
5、最后寫出add函數,運行程序就完成了。

海綿寶寶撒
TA貢獻1809條經驗 獲得超8個贊
定義在主函數外面是全局變量,分配的內存在靜態內存,整個工程內都可以訪問到他的值,但是優先級低。只有程序退出后才會釋放他的內存。沖突的時候優先使用局部變量。
定義在函數內的變量時局部變量,分配的是內存堆棧,只有特定的函數內可以訪問到,退出函數后自動釋放內存堆棧。優先級高
- 2 回答
- 0 關注
- 120 瀏覽
添加回答
舉報
0/150
提交
取消