c語言變數初始化
『壹』 c語言變數必須初始化嗎
C語言變數可以不初始化。直接定義int
a;
printf("%d",&a);這兩句程序是直接定義並且輸出變數的值,這個要看編譯器了,有的編譯會輸出0,這是編譯器幫你初始化了,默認初始化為0。如果有的編譯器不初始化的話會報錯,即使不報錯,那麼printf輸出的數字是隨機的,是這個內存中之前存儲的數據。
『貳』 VS2010 編寫c語言變數為什麼要初始化
1、C語言變數可以不初始化。直接定義int
a;
printf("%d",&a);這兩句程序是直接定義並且輸出變數的值,這個要看編譯器了,有的編譯會輸出0,這是編譯器初始化了,默認初始化為0。如果有的編譯器不初始化的話會報錯,即使不報錯,那麼printf輸出的數字是隨機的,是這個內存中之前存儲的數據。
2、變數是程序中數據的臨時存放場所。在代碼中可以只使用一個變數,也可以使用多個變數,變數中可以存放單詞、數值、日期以及屬性。由於變數讓你能夠把程序中准備使用的每一段數據都賦給一個簡短、易於記憶的名字,因此它們十分有用。變數可以保存程序運行時用戶輸入的數據(如使用InputBox函數在屏幕上顯示一個對話框,然後把用戶鍵入的文本保存到變數中)、特定運算的結果以及要在窗體上顯示的一段數據等。簡而言之,變數是用於跟蹤幾乎所有類型信息的簡單工具。
『叄』 C語言中變數的初始化怎麼理解
C語言的變數初始化,就是在定義變數的時候,賦予一個初始值。
形式為
type var_name = init_value;
其中init_value就是初始化值了。
類似於
type var_name;
var_name = init_value;
不過,基於編譯器的實現,一般初始化值的方式要比先定義後賦值更高效。另外,有些初始化是必須的。比如常量的定義,必須在定義的時候賦予初始化值。
『肆』 C語言中,聲明變數和初始化變數有什麼作用
c語言中,變數只有先聲明,才能使用,這樣避免編程時產生不必要的錯誤,一位不同類型變數的存儲格式和長度都不同,所以位元組長度不同,聲明變數可以讓計算機知道你更需要用什麼樣的格式存儲變數,從而高效穩定地運行程序。
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
(4)c語言變數初始化擴展閱讀:
C語言是面向過程的編程語言,用戶只需要關注所被解決問題的本身,而不需要花費過多的精力去了解相關硬體,且針對不同的硬體環境,在用C語言實現相同功能時的代碼基本一致,不需或僅需進行少量改動便可完成移植,這就意味著,對於一台計算機編寫的C程序可以在另一台計算機上輕松地運行,從而極大的減少了程序移植的工作強度。
與其他高級語言相比,C語言可以生成高質量和高效率的目標代碼,故通常應用於對代碼質量和執行效率要求較高的嵌入式系統程序的編寫。
『伍』 什麼是C語言的初始化
就是在定義一個變數的時候給他賦值。
比如:
……
main()
{
int i = 0;//這里就是C的初始化
i = 3;//這里是正常的語句
printf("%d\n", i);
}
如果你不寫int i = 0; 只是 int i;
如果你一旦漏寫了
i = 3;
那麼你再寫 printf("%d", i);
可能出現亂碼,而你找不出來。
如果你寫了i = 0; 那麼你就知道你i 忘記了賦值,可以找到錯誤。
這樣計算機運行的也不那麼郁悶了。
『陸』 c語言中局部變數初始化是什麼意思,怎麼初始化
「局部變數初始化」是指在使用這個局部變數前,要對其進行初始化。這是因為局部變數是從內存堆中分配的,用完就還給內存堆,所以被分配的局部變數並不一定是0,而很可能是其他地方用過的一個值,因此在使用這個變數之前,要對它進行顯示初始化。初始化可以用兩種方式(假設初值為0):
聲明變數是賦值:int val=0;
在使用前賦值:
int val;
.... //其它代碼
val=0;
....//後面開始使用變數val
『柒』 在c語言中定義一個變數要取得一個初始值有哪三種方法
量的初始化操作的幾種方式:
1.在定義的時候直接初始化,比如
b = tf.get_variable("b", b.shape, trainable=False, initializer=tf.constant_initializer(b))
2.在會話中使用sess.run()進行初始化,比如
sess.run(tf.global_variables_initializer()) # 初始化全局變數
sess.run(tf.local_variables_initializer()) # 初始化本地變數
3.如果只想要初始化一部分指定變數,使用:
sess.run(tf.variables_initializer(var_list))
其中,var_list是需要初始化的變數列表。
變數在使用前一定要進行初始化,且變數的初始化必須在模型的其它操作運行之前完成。變數的初始化有三種方式,如程序2-13所示:
程序2-13:
『捌』 C語言怎樣初始化變數
局部變數和全局變數
在任何時候都可以初始化的
只是它們生存的周期不一樣而已
你可以在定義的時候初始化
一般也最好這樣
你也可以在定義它之後初始化
只要是在你使用它們之前進行的任何時候初始化就是沒問題的
『玖』 C語言中變數初始化與賦初值有什麼不同
語法上的初始化是指對象定義時,對應的分配空間之後對於值的操作。C語言中,靜態和全局變數默認置0,有初始化列表的復制初始化列表的值到空間(如有不足,剩餘部分置0),局部自動變數可以不初始化(調試器參與時可能被隱式地初始化為其它的值("debug
magic
number"),例如默認情況下Microsoft
C/C++
Debugger會把棧中未初始化的位元組置為0xCC)。
賦初值一般而言是指邏輯意義上的初始化。在C語言中,由於初始化的語法是「=」後加初值,所以「賦初值」基本上就是指語法上的初始化。不過隨著語言的發展,「賦初值」的意義發生了擴大。對有構造語義但又允許不初始化而不產生編譯錯誤的程序設計語言而言,兩者有些微妙的差別。例如C++的構造函數中,用若干個成員名和括弧括起來的初始化值構成的初始化列表是語法上的初始化(也可能是邏輯意義上的初始化,如果沒有被構造函數體內的值覆蓋),而構造函數體中對成員的賦值語句是邏輯上的初始化但不是語法上的初始化。
冰的悸動
錯誤:
1.「程序開始時進行初始化」的說法僅僅適用於靜態或全局變數,而不適於局部自動變數。局部自動變數在函數調用時才能被初始化。
2.「但是根據編譯器的不同有些編譯器會自動賦初值0或其他」——這在ISO/IEC
C語言標准中不是由實現定義的行為,如果一個編譯器符合標准,那麼行為就是明確的,即視此初始化的對象是否為全局對象來判斷隱式初始化置0還是不進行初始化——從下面的函數定義來看這里應該var2是全局變數,會被置0。非標准編譯器則另當別論(但是我還沒見過會在這點上沒事找茬的)。
『拾』 C語言中初始化是什麼意思
C語言中的初始化就是你要給它賦予一個詞,這個詞漸漸影響到你程序的一個說說效果,如果不進行初始化,那這個數據,他的直將是不定的程序,也是無法運行的,就算是可以運行,也不是你想要的數據。