c語言中,宣告變數和初始化變數有什麼作用

時間 2021-10-17 04:39:55

1樓:愚人談娛樂

c語言中,變數只有先宣告,才能使用,這樣避免程式設計時產生不必要的錯誤,一位不同型別變數的儲存格式和長度都不同,所以位元組長度不同,宣告變數可以讓計算機知道你更需要用什麼樣的格式儲存變數,從而高效穩定地執行程式。

c語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程式的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且c語言本身不提供與硬體相關的輸入輸出、檔案管理等功能,如需此類功能,需要通過配合編譯系統所支援的各類庫進行程式設計,故c語言擁有非常簡潔的編譯系統。

2樓:yesyes科

變數是指在程式的執行過程中隨時可以發生變化的量。宣告變數可以讓計算機知道你更需要用什麼樣的格式儲存變數,操作方法如下:

1、首先,在c語言中定義指標所要指向指向的變數。

2、然後定義一個指標變數,也可以在定義時直接初始化。

3、也可以另起一行初始化,但注意,沒有星號。

4、接下來可以直接引用地址或者指標變數。

5、最後指標也可以在形參裡使用,如下圖所示,就完成了。

3樓:娛樂小八卦啊

宣告一個變數意味著向編譯器描述變數的型別,但並不為變數分配儲存空間。定義一個變數意味著在宣告變數的同時還要為變數分配儲存空間。在定義一個變數的同時還可以對變數進行初始化。

區域性變數通常只定義不宣告,而全域性變數多在原始檔中定義,在標頭檔案中宣告。

定義也是宣告,extern宣告不是定義,變數在使用前就要被定義或者宣告。 在一個程式中,變數只能定義一次,卻可以宣告多次。 定義分配儲存空間,而宣告不會。

定義完之後才能初始化,所以初始化的時候已經分配記憶體

在一個函式的內部定義的變數是內部變數,它只在本函式範圍內有效。自動變數auto函式中的區域性變數,其預設格式是自動變數型別。例如,在函式體中int b,c=3;和auto int b,c=3; 是等價的。

擴充套件資料

靜態變數和動態變數初始化區別:

在靜態變數的初始化中,我們可以把可執行程式檔案想要初始化的值放在當程式執行時變數將會使用的位置。當可執行檔案載入到記憶體時,這個已經儲存了正確初始值的位置將賦值給哪個變數。

完成這個任務並不需要額外的時間,也不需要額外的只了能夠,變數將會得到正確的值。如果不顯式地制定其初始值,靜態變數將初始化為0。

自動變數的初始化需要更多的開銷,因為當程式連結時還無法判斷自動變數的儲存位置。事實上,函式的區域性變數在函式的每次呼叫中可能佔據不同的位置。基於這個理由,自動變數沒有預設的初始值,而顯式的初始化將在**塊的起始處插入一條隱士的賦值語句。

4樓:寶夏彤蔚昊

你不初始化賦初值的話,這個變數的具體值就是它佔用記憶體空間所儲存的值,這個值有可能是上次程式殘留的,還有一種情況,比如你定義的全域性變數並沒有初始化,

那麼系統會自動初始化預設值

int就是0

字串就是「」

static關鍵字宣告的也是如此。

如果是區域性變數就是很奇怪的值了,有一定隨機性。

5樓:匿名使用者

這是c語言的規定,一個變數不宣告是無法使用的,對變數就要先宣告再使用;初始化就是對變數給一個初值

6樓:匿名使用者

宣告變數是告訴系統有這樣的一個變數存在,但是並沒有給該變數分配記憶體空間。

初始化變數是在定義變數後,給其分配了記憶體,並且給其一個值。

7樓:匿名使用者

申明變數就是定義一個變數,初始化就是給已定義的變數賦初始值。例如

int a; 這是申明變數

int a=10; 這是先申明變數再初始化。

8樓:匿名使用者

你先說有一個房間(宣告),再說房間裡有什麼(初始化),房子不能空著。

9樓:匿名使用者

舉個例子吧:

int i;(申明變數)

i=0;(初始化變數)

所謂初始化變數其實就是賦初始值.

或者像:

int i,j;

j=0;

i=j;

也是同樣的效果.明白了嗎?

10樓:

在c語言中,要求對所有用到的變數作強制定義,也就是「先定義,戶使用」

凡未被定義的,不做為變數名,這就能保證程式中變數名使用得正確。

初始化變數並不是必須的,但是在c語言中未初始化的變數是其資料型別允許範圍內的任意值(靜態變數除外),為了防止運算**錯,一般建議定義變數後,立即初始化。

11樓:匿名使用者

訂房的意思

每個旅行團,人數可能不一樣

但每一房間的入住人數是固定的

旅行社在出團前就把房訂好

例如a團人數是16人,b團有32人(二進位制位數)一間房可以住8個人(一位元組)

a團就需要2間房,b團就需要4間房.

如果你之前沒有訂好,到時候去到了沒房住

那不是亂了嗎?

在C語言中,為什麼定義變數的時候總是初始化為0呢?該怎麼理解

符潔愚媚 因為變數是可以變動的,定義一個變數不初始化時,變數會是一個隨機數,進行計算了的時候,就會引用那個隨機數進行計算,會有誤差。 如果全域性變數在定義時不初始化則初始值是0,如果區域性變數在定義時不初始化則初始值是不確定的。 沒字天書 誰說總是初始化0的,全域性變數和靜態變數會,區域性變數不一定...

c語言問題 未初始化int變數的初值

c語言問題未初始化int變數的初值是設定錯誤造成的,解決方法為 1 首先我們開啟我們的編譯器,在main函式中寫。2 然後我們宣告定義變數的型別,比如int 整形 double 雙精度 float 浮點型 char 字元型 已 int整形為例。3 之後要有個空格。4 接下來寫我們的變數名,注意區分大...

c語言中變數的平方怎麼輸入,C語言中變數的平方怎麼輸入

天雲一號 在c 中,變數a的平方可以有2種方式進行輸入 1 直接本身相乘a a 2 用函式pow進行求變數a的平方,即pow a,2 注 函式pow的用法如下 函式格式 double pow double x,double y 功 能 計算x的y次冪 返 回 值 計算結果 當使用pow函式時,需要將...