1. c語言全局變數可以重復定義嗎
(1)C語言全局變數不可以重復定義,但需要注意的是在C語言函數中,可以定義與全局變數同名的局部變數,此時的全局變數會暫時無效。
(2)全局變數是相對於局部變數而言的。全局變數也稱為外部變數,它是在配穗函數外部定義的變數。 它不屬於哪一個函數,它屬於一個源程序文件。其作用域是從定義該變數的位置開始至源文件結束。解釋:在函數中使用全局變數,一般應作全局變數聲明。 只有在函數內經過聲明的全局變數才能使用。 但在一個函數之前定義的啟賣梁全局變數,在該函數內使用可不再加以聲明。
(3)局部變數(Local variables)指在程序中只在特定過程或函數中可以訪問的變數。局部悄運變數是相對於全局變數而言的。在C++、C#、Ruby這些面向對象語言中,一般只使用局部變數。
2. 能解釋一下這個C語言宏定義為什麼定義兩次
http://..com/question/424150510.html
3. c語言編程中,同一個變數能否被重復定義成兩種不同類型
在同一塊代碼區域中,不允許有同名變數!
在不同的代碼區,可以!
如:
定義一個全局變數:
int a=10;
再定義一個局部變數:
void func()
{
char *a="hello";
}
這樣是可以的。
4. C語言變數被重復定義怎麼算,懵逼了
你要理解所謂的「汪盯備變數作則高用域」,這個基本概念教科書應該講,不要總靠問來做題,這樣只能得到「點狀」知識,困毀不會學的好。
5. C語言,重復定義變數問題
在頭文件唯亂中定義全局變數,等同於在每個引用該頭文件的源文件中都定義了一次全局變數,所以會報重復定義。皮頌
改正方法很簡單,在隨便一個C文件中定義,在頭文燃山鄭件中放聲明就可以了
6. C語言調試錯誤中說重定義什麼函數是什麼意思
重定義什麼函數,就是同一函數定義了兩次.
可能是漏了函數原型. 如果在main{ ...} 以後定義了函數,main以前要加函數原型聲明.
例如:
void swap(int *a, int *b); // 函數原型
void main(){ ....} // 主函數
void swap(int *a,int *b){ ....} // 函數
函數原型 要有分號.
函數調用語句不要忘指慎悔了分號.
漏分號也可能出現孝氏"重復定義"唯正錯誤.
7. 關於C語言重復定義的問題-uboot
#include 相當於把.h文件的內容原樣放到.C文件相應的#include位置,
#define只在定義它的c文件中起作用
多個c文件首慎宏可以使用#define定義者冊相同名稱的宏,
但是,多個C文件定義相同名稱的全局變數的話,就會出問題了,全局變數在整個工程中起作用;也就是說:
a.c中定義了全局變數 int memory;
b.c中就不能定義全局變數 int memory;
同樣,你下面的做法是不行的
---------------------------------
//ss.h
#ifndef comand
#define comand 1
int memory;
#endif
--------------------------------
一般來講,.h文件中只能聲明變數,而不要定義變數,如果多個c文件公用一個變數的話,可以在其中一個c文件中定義該變數int memory;,並在頭文件中使用extern int memory;聲明該變數。
----------------------------------------------------------------------------------------------
#ifndef __COMMON_H_
#define __COMMON_H_ 1
這樣寫只是為了避孝悔免同一個c文件中多次引用同一個頭文件,
假設有個a.h文件中,#include了common.h
如果c文件同時#include "a.h" 和<common.h>的話,
#ifndef __COMMON_H_
#define __COMMON_H_ 1
就會起作用了
8. C語言的重復定義問題
別把F_Define.c和Data_Define.c文件加入到鬧空扒工程中,應當就編譯鏈接了
或者把虧如這兩個定義改為.h擴展名,它們不液昌會生成obj文件,就沒問題了
9. c語言指針能重復定義嗎 比如int *p=a 在下面幾行又int *p=b 可以嗎 為什麼
LZ的寫法是不可以的,可以液猛寫成int *p=&a;p=&b;也就是可以改變指針的指向,前提是p不是常指針(指針本身是常量,眾所周知,常量的值是不能改變的),也就是這么寫「 int *const p=&a;」,談兆那就不鬧侍橋能再「p=&b;」即常指針指向不能再改變了
10. C語言函數變數重復定義
是這樣的,同一個函數內定義的每個變數名(局部變數)是唯一的,其內容的改變與本函數外的任何變數無關。