国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > C > 正文

頭文件不宜定義變量的原因全面解析

2020-01-26 15:51:42
字體:
來源:轉載
供稿:網友

test-1.0使用#ifndef只是防止了頭文件被重復包含(其實本例中只有一個頭件,不會存在重復包含的問題),但是無法防止變量被重復定義。

復制代碼 代碼如下:

# vi test.c
-------------------------------
#include <stdio.h>
#include "test.h"

extern i;
extern void test1();
extern void test2();

int main()
{
   test1();
   printf("ok/n");
   test2();
   printf("%d/n",i);
   return 0;
}


# vi test.h
-------------------------------
#ifndef _TEST_H_
#define _TEST_H_

char add1[] = "www.shellbox.cn/n";
char add2[] = "www.scriptbox.cn/n";
int i = 10;
void test1();
void test2();

#endif

# vi test1.c
-------------------------------
#include <stdio.h>
#include "test.h"

extern char add1[];

void test1()
{
   printf(add1);
}

# vi test2.c
-------------------------------
#include <stdio.h>
#include "test.h"

extern char add2[];
extern i;

void test2()
{
   printf(add2);
   for (; i > 0; i--)
       printf("%d-", i);
}


復制代碼 代碼如下:

# Makefile
-------------------------------
test:    test.o test1.o test2.o
test1.o: test1.c
test2.o: test2.c
clean:
   rm test test.o test1.o test2.o

錯誤:
test-1.0編譯后會出現"multiple definition of"錯誤。

錯誤分析:
由于工程中的每個.c文件都是獨立的解釋的,即使頭文件有
#ifndef _TEST_H_
#define _TEST_H_
....
#enfif
在其他文件中只要包含了global.h就會獨立的解釋,然后每個.c文件生成獨立的標示符。在編譯器鏈接時,就會將工程中所有的符號整合在一起,由于文件中有重名變量,于是就出現了重復定義的錯誤。

解決方法
在.c文件中聲明變量,然后建一個頭文件(.h文件)在所有的變量聲明前加上extern,注意這里不要對變量進行的初始化。然后在其他需要使用全局變量的.c文件中包含.h文件。編譯器會為.c生成目標文件,然后鏈接時,如果該.c文件使用了全局變量,鏈接器就會鏈接到此.c文件 。

test-2.0

復制代碼 代碼如下:

# vi test.c
-------------------------------
#include <stdio.h>
#include "test.h"

int i = 10;
char add1[] = "www.shellbox.cn/n";
char add2[] = "www.scriptbox.cn/n";
extern void test1();
extern void test2();

int main()
{
   test1();
   printf("ok/n");
   test2();
   printf("%d/n",i);
   return 0;
}


# vi test.h
-------------------------------
#ifndef _TEST_H_
#define _TEST_H_

extern i;
extern char add1[];
extern char add2[];

void test1();
void test2();

#endif

# vi test1.c
-------------------------------
#include <stdio.h>
#include "test.h"

void test1()
{
   printf(add1);
}

# vi test2.c
-------------------------------
#include <stdio.h>
#include "test.h"

void test2()
{
   printf(add2);
   for (; i > 0; i--)
       printf("%d-", i);
}


個人認為解決此類問題有幾種辦法:
1.在.cpp里定義變量,在其他調用處使用extern
2.在頭文件里使用宏定義

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
√天堂中文在线| 精品一区二区三区在线观看l| 国产经典自拍视频在线观看| 精品街拍一区二区| 国产精美视频| 在线成人一区| 日本免费视频www| 老师我好爽再深一点的视频| 国产中文字幕在线看| 资源视频在线播放免费| 国产第一页在线视频| 伊人影院在线播放| 毛片视频免费观看| 天天av天天爱| 在线中文字幕av| 久青青在线观看视频国产| 国产一级片网站| 国产激情视频一区二区三区| 18av在线播放| 成年人在线观看| 在线观看视频污| 国产一级黄色电影| wwww在线观看免费视频| 操操操综合网| av中文网站| 国产免费永久在线观看| 国产精品国精产品一二| 青草视频在线播放| 国产蜜臀av在线播放| 国产欧美久久久久久久久| 亚洲wwwwww| 国产黄网站在线观看| 男人天堂v视频| 国产黄色在线网站| 国产亚洲精品午夜高清影院| 轻轻色免费在线视频| 99久热re在线精彩视频| 国产在线一二三| japanese色国产在线看视频| 国产一区二区三区福利| 免费高清视频日韩| 就爱干草视频| 久久精品最新免费国产成人| 四虎成人免费观看在线网址| 国产国产国产国产国产国产| 国产麻豆高清视频在线第一页| 青青草在线播放| 亚洲欧美日韩综合精品网| 国产一卡2卡3卡4卡网站免费| 国产免费av在线| 最近久乱中文字幕| 国产对白在线| 亚洲欧美精品中文第三| 日本卡一卡2卡3卡4精品卡网站| 精品99又大又爽又硬少妇毛片| 国产一级黄色片免费| 激情四房婷婷| 超碰免费在线| 久草福利资源在线视频| 九九在线观看免费视频| 欧美xxxxx性| 午夜视频在线免费| 国产三级视频| 白浆爆出在线观看| 性欧美精品xxxx| 青青草原av在线| 最好看更新中文字幕| 国产黄大片在线观看画质优化| 国产精品yjizz视频网一二区| 国产男女av| 国产福利一区二区在线精品| 男人操女人免费网站| 国产中文在线视频| 国产美女高潮| 亚洲www色| 国产小视频福利在线| 国产不卡在线| 狂野欧美性猛交xxxx乱大交| 国产嫩草在线视频| 在线免费看av| 天天操天天操天天色天天要| 中文资源在线网| 国产亚洲依依| 黄网址在线永久免费观看| 国产成人午夜精品| 国产精品㊣新片速递bt| 亚洲欧洲成人| 国产爆初菊在线观看免费视频网站 | 羞羞视频在线免费看| 国产精品扒开做爽爽爽的视频| 在线免费看av| 国产精品剧情一区二区三区| 久久一本精品| 久久精品免视着国产成人| 精品推荐国产麻豆剧传媒| 天堂在线一二区| 九九精品九九| 天堂网中文在线| 国产免费av网站| 国产麻豆高清视频在线第一页| 黄色网址在线免费播放| av片在线观看| 一本大道久久a久久精品| 国产黄在线看| 精品国产高清自在线一区二区三区| 国产丝袜在线播放| 欧美高清xxxx性| 青草视频在线播放| 免费观看久久久久| 九九热视频免费在线观看| 麻豆av在线| 国产精品一区二区三区四区色| 久久五月精品中文字幕| 开心婷婷激情五月| 国产一卡2卡3卡免费网站| 国产高清自拍视频在线观看| 国产成人亚洲综合小说区| 中文天堂av| 午夜在线观看91| gogo在线高清视频| 成人免费一区二区三区视频网站| 在线视频福利| jlzzjlzz欧美大全| 日本不卡视频一区二区| 免费看的av| 国产三级在线观看| 99中文字幕一区| 99热免费观看| 激情四房婷婷| av影视在线看| 久久五月精品| 精品剧情v国产在线观看| jizz国产| 国产精品18久久久久久久久久| 一级二级三级在线观看| 久久99国产视频| 中文字幕在线影院| av网址在线播放| 欧美卡一卡二| 精品美女视频在线观看免费软件| 日本三级在线视频| 18 激情视频在线| 九九热免费视频| 在线āv视频| 国产超碰在线| 国产二区在线播放| 国产乱精品一区二区三区| 99爱视频在线观看| 国产天堂素人系列在线视频| 欧美日韩一区二区三区视视频| 91在线网址| 午夜不卡视频| 国产精品一二三区视频| 免费女人毛片视频| 日本一二三区视频免费高清| 91啦中文在线| 国产精品第八页| 国产黄色av免费看| 国产l精品国产亚洲区在线观看| 中文字幕在线观看av| 国产在线观看a视频| av在线资源网| 日本视频三区| 激情综合丁香| 最近高清中文在线字幕在线观看| 国产女人在线观看| 超碰国产在线| 日本中文字幕在线观看| 中文字幕不卡| 精品推荐蜜桃传媒| 亚洲人在线播放| 在线看a视频| 牛牛精品视频在线| 午夜视频99| 在线中文字幕视频| 亚洲电影视频在线| 免费av不卡在线观看| 国产在线观看网站| 最新国产在线精品91尤物| 尤物视频在线看| 精品国产二区三区| av手机免费在线观看| 久热中文字幕在线观看| 国产视频97| 四虎精品成人a在线观看| 日日夜夜中文字幕| 国产一区二区三区美女秒播| 7777在线| 国产精品午夜久久久久久| 18成年在线观看| 福利视频网站导航| 精精国产xxxx视频在线中文版 | 国产亚洲精品久久久网站好莱 | 黄网站app在线观看下载视频大全官网| 久热免费在线视频| 国产一区二区三区不卡在线| 尤物视频在线观看视频| 中文字幕在线免费观看| 伊人久久青青草| 国产三区四区在线观看|