iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
自我挑戰組

C語言精讀研習系列 第 15

auto與static變數之差異-C語言題庫

  • 分享至 

  • xImage
  •  

區分儲存類別 auto 和 static 變數的差異

編寫如下結果的程式碼
https://ithelp.ithome.com.tw/upload/images/20230927/20160744Zik8wyLell.png

  1. auto int可簡化為 int,因為局部變數默認就是自動存儲類別
  2. static int si 是一個靜態局部變數,即使函數結束了執行,它仍會保持其值

完整程式碼

#include <stdio.h>

void auStaFun(){
	int auto ai = 100;	//auto 局部(自動)變量,生命週期隨著函數凡回結束
	int static si = 100; //靜態局部變量,保持其值到程式結束。
	
	ai ++;
	si ++;
	printf("ai=%d, si=%d\n", ai, si);//\n為換行
}

int main(){
	for (int i = 1; i<6; i++){
		auStaFun();
	}
	
	return 0;
}

參考來源:TQC+ C 函數與陣列 304


上一篇
全局變數與局部變數的生存空間與呼叫-C語言證照題庫
下一篇
透過回傳值進行加法運算-C證照題庫
系列文
C語言精讀研習47
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言