一個全局靜態INT這裏是我的代碼:遞增主
文件DataTypes.h
static int count=0;
文件TreeOps.h
#include"DataTypes.h"
void printTree(Tree* ptr)
文件TreeOps.c
#include"TreeOps.h"
void printTree(pointer){
count++; // incrementing the count;
printf("%d",counter);
}
文件TreeMain.c
#include"TreeOps.h"
printTree(pointer); // all the necessary declarations are done.
printf("%d",count);
如果在printTree函數中,printf
給出count = 1;而在主要功能它給了我0.1
爲什麼?
爲什麼我需要在.c文件中寫入int count = 0 ..不會讓它在第一個位置出現讓它可用於其他所有文件? 也是我的.c文件應該定義在? main.c或TreeOps.c? – Kraken
答案已編輯。 –
所以我應該刪除靜態定義從DataTypes.h和位置,我寫'extern int count;' 現在在我的main.c我寫 #include「DataTypes.h」 int count = 0; void main() { printTree(pointer); printf(「count」); } 它會給我正確的答案..因爲它不是? 它仍然不增加計數? – Kraken