具體問題請麻煩看鏈接
C語言遇到問題
我寫了一個函數void match(char* list)/*作用是在list字符串中查找給定子字符串*/
又寫了一個函數void find(void (*match)(char*))/*因為想用函數指針,就把match函數傳遞進去了
然後find()函數遍歷字符串數組。
最後在main()函數中寫字符串數組char* shuzu[]的具體內容
然後把match函數,find函數,main函數保存在不同的.c文件中
最後寫了一個頭文件,其中保存了函數申明,還有那個字符串數組的申明
我是這樣寫的extern char* shuzu[];
最後遇到的問題是編譯時告訴我find()函數遇到未定義變量shuzu[],,可我不是把它定義成
全局變量保存在頭文件中了嗎?
把數組shuzu定義放到main函數外面,才是全局數組。
頭文件的聲明保持不變。
extern 聲明該變量是外部或本文件的全局變量。
#include<stdio.h>
#include"declare.h"
char* shu_zu[]={
"wodemingzijiaozuowuguannan",
"wujunyishiwofuqing",
"liuhongjushiwomuqing",
"woxihuanwozijiwuguannan"
};
int main()
{
find(match);
return 0;
}