静态变量不能跨函数使用
生活随笔
收集整理的這篇文章主要介紹了
静态变量不能跨函数使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?這個程序從語法上沒有錯誤,但是從邏輯上講是有問題的。因為調用function()函數已經執行完畢函數內存的靜態變量已經釋放,p就不能指向?i? ?但是卻把 i?的內存變量值讀取出來了,這是不可以的。靜態變量不可以跨函數使用
#include <stdio.h>void function(int ** q) { //q是個指針變量,無論q是什么類型指正變量,都只占4個字節int i = 5;*q = &i; }int main(void) {int *p;function(&p);printf("%d\n", *p);while (true){}return 0; }總結
以上是生活随笔為你收集整理的静态变量不能跨函数使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言再学习 -- 关键字const
- 下一篇: 如何利用bat在同一个IE用多个选项卡的