C语言如何在.c文件中调用另一个.c文件中的字符数组(2个.c文件不在同一文件夹)

举例:A文件夹下有a.c文件和文件夹B,B文件夹中有b.c文件,a.c中定义了charx[100];这样一个字符数组,并对x中写入字符,请教如何在b.c中调用x并且x在a... 举例:A文件夹下有a.c文件和文件夹B,B文件夹中有b.c文件,a.c中定义了char x[100];这样一个字符数组,并对x中写入字符,请教如何在b.c中调用x并且x在a.c中进行的修改依然存在 展开
 我来答
花花浪客
推荐于2017-12-16 · TA获得超过2069个赞
知道小有建树答主
回答量:792
采纳率:100%
帮助的人:706万
展开全部
在b.c中声明 extern char* x;
然后,如果你是使用的VC,那么把a.c和b.c都加到同一个工程里面就可以了
如果你是在linux下面,那么把a.c和b.c编译出来的.o文件在链接的时候链接在一起就可以了
追问
我确实是在linux下面 但是怎么把.o文件链接起来呢?我就是写了一个x.h文件 里面写了一句extern char x[100]; 然后a和b都include了x.h文件 ,这样对吗 我看你的意思是要写成指针?
追答
声明为extern char x[100];也米有问题。
编译的时候:
gcc -c a.c ;这句编译a.c输出a.o

gcc -c B/b.c ;这句编译B下面的b.c输出b.o

链接的时候
gcc -o mype a.o b.o ;把a.o, b.o链接在一起,输出mype
缪卓俊
2013-05-07 · 超过14用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:41万
展开全部
把a.c中的char x[100]声明为外部变量,也就是将char x[100];声明语句放到a.c中所有函数体外;然后在b.c中要使用变量x前添加声明 语句extern char* x;此后便可调用变量x了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦里寻你我他
2013-05-07 · TA获得超过2199个赞
知道大有可为答主
回答量:2171
采纳率:42%
帮助的人:1201万
展开全部
做成函数,引用参数类型
追问
能详细说说么 怎么做函数啊 它就只是一个变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式