c語言中初始化賦值和用define命令對字元賦值有什麼異同

時間 2021-06-21 04:08:02

1樓:回憶在上輩子

一個是賦值一個是巨集替換

int r這個r是個變數,其值可變

而#define r這個r是個巨集,在函式中有用到時會用後面的數值進行替換,不能夠改變其值

2樓:匿名使用者

前者存在變數r,後者不是變數,編譯前就被替換成數12了

3樓:匿名使用者

前者是變數賦值,變數r佔記憶體,後者是巨集定義,r不佔記憶體,是預編譯的,只是下面如果出現r都會替換成12

4樓:

int r=12定義的是變數,#define r 12是通過巨集定義了一個常量,常量值在程式中是固定不變的

5樓:匿名使用者

int r =12;

用int 關鍵字 的r 是一個變數,就是r的值現在是12但是當 我們在寫一條語句r =24的時候,此時

r的值就變成了24 而對於用#define r 12 這個定義的r 就是一個常量,就是不能改變的 ,這個#define

定義巨集 常量 一般放在程式的開頭,所以此時的r 也是一個全域性的哈,一般用#define 定義的常量都是

用大寫的英文字母。 好久沒有摸過c語言了,所以不是很準確,、但是你可以參考參考,希望對你有幫助!

6樓:匿名使用者

1、定義需要分配儲存空間

2、初始化是定義變數時候賦給變數的值;

3、賦值是以後用到該變數,賦給該變數新的值;

定義是在記憶體中確定變數的位置、大小。初始化是定義變數時候賦給變數的值(從無到有).賦值是以後用到該變數,賦給該變數新的值.

int i;//定義

int i=9;初始化

i= 7;// 賦值

7樓:

初始化賦值可以改變值

define命令不可以改變

8樓:

1個有地址,1個沒地址?

巨集定義與直接賦值有什麼區別

9樓:匿名使用者

巨集定義 定義的是常量符號。

直接賦值,賦給的是變數符號。

10樓:匿名使用者

巨集定義是預處理是完成的,本質是字元替換

直接賦值是記憶體上的操作版,與執行時有關

權#include

#define iii int

int main(void)

想這個c語言**中,巨集定義iii,那麼它的下面就可以用iii來代表int,在編譯處理時把所有的iii(引號內容除外)都當成是int處理

c語言中為什麼用巨集定義一個字元常量(一個字母)可以賦值給字元變數?

11樓:匿名使用者

1、因為巨集定義實質是一種替換,雖然看起來是字元,實際上最終是被替換成其他常熟或者值。

2、巨集定義中的識別符號都採用大寫,這是程式設計中一種約定俗成的習慣:

1)巨集替換不做語法檢查,所以在使用的時候要格外小心2)巨集替換通常在檔案開頭部分,寫在函式的花括號外邊,作用域為其後的程式,直到用 問好

3)# u n d e f 命令終止巨集定義的作用域4)不要在字串中使用巨集,如果巨集名出現在字串中,那麼將按字串進行處理.

12樓:關韶侍荏

因為巨集是一個簡單替換,所以c語言中用巨集定義一個字元常量(一個字母)可以賦值給字元變數。實質是在編譯之前會把巨集替換掉,然後再編譯。

例如:#define a 5

void main()

在編譯之前a已經被替換成5了,所以就可以賦值給num。

c語言中#define是什麼意思

13樓:超級飄飄乖乖

是定義的意思,將一個變數強制定義為你想要的值。如#define pi 3.14就是將pi的值定義成3.14,這樣在程式裡看到pi就可以替換成3.14了。

在程式執行期間其值可以改變的量稱為變數,變數型別又分為系統變數和使用者自定義變數。

使用者自定義變數其實和系統變數含義是一樣的,在學到結構化程式設計的時候,你就會明白自定義變數的意思了。

系統變數分為四種:

1、int整形變數;

2、使用者存放整數的變數;

3、佔4個位元組的大小;float單精度浮點型,就是存放小數點的數值;佔4個位元組大小;double高精度浮點型,相對float而言,double保留的小數點位數更精確,

4、佔8個位元組的大小;char字元變數,主要存放字母,佔1個位元組的大小。

簡單的define定義

#define maxtime 1000

一個簡單的maxtime就定義好了,它代表1000,如果在程式裡面寫

if(i編譯器在處理這個**之前會對maxtime進行處理替換為1000。

這樣的定義看起來類似於普通的常量定義const,但也有著不同,因為define的定義更像是簡單的文字替換,而不是作為一個量來使用,這個問題在下面反映的尤為突出。

14樓:可愛的壞男孩

有的時候為了程式的通用性,可以使用#define預處理巨集定義命令,它的具體作用,就

是方便程式段的定義和修改。

舉個例子吧,如果說你在做一個專案,這個專案的**很長,有5000多行,而且基本上裡面的同一個常量n就佔了3000多行,如果說今後你要是想對這個常量n的值進行修改,如果在程式的開始沒有定義一個#define n,那麼改起來不是很麻煩,3000多行啊,那不是要暈過去了~如果你事先定義了一個#define n 『常量值』,那麼當你要修改程式內部的常量值時,只要修改n後面的常量值就等於把程式內部的要修改的相同常量值都改了,那就很方便了

在程式執行期間其值可以改變的量稱為變數,變數型別又分為系統變數和使用者自定義變數,使用者自定義變數其實和系統變數含義是一樣的,在學到結構化程式設計的時候,你就會明白自定義變數的意思了。系統變數分為四種,int整形變數,使用者存放整數的變數,佔4個位元組的大小;float單精度浮點型,就是存放小數點的數值,佔4個位元組大小;double高精度浮點型,相對float而言,double保畱的小數點位數更精確,佔8個位元組的大小;char字元變數,主要存放字母,佔1個位元組的大小

15樓:福建省寧德市

#define是巨集定義的意思

2. 巨集定義是用巨集名來表示一個字串,在巨集展開時又以該字串取代巨集名,這只是一種簡單的代換,字串中可以含任何字元,可以是常數,也可以是表示式,預處理程式對它不作任何檢查。如有錯誤,只能在編譯已被巨集後的源程式時發現。

3.巨集定義不是說明或語句,在行末不必加分號,如加上分號則連分號也一起置換。

4.巨集定義其作用域為巨集定義命令起到源程式結束。如要終止其作用域可使用#undef命令。

16樓:雲南新華電腦學校

#define是巨集定義的意思;int整型變數;

17樓:謐夜欣韻

定義的意思,比如#define size 5,這就定義了一個巨集,size在程式中就等於5,這樣更改一個大量使用的值很方便,如:int a[size]就和int a[5]一樣

18樓:匿名使用者

#define

讓大師來用最簡單的方法來回答,就是 定義一個可以替換的 東東比如說#define a b

在程式中遇到a,a就變成b了

他還可以檢討的

比如#define a a,b

#define b a,b,c

b把他佔開就是 a b b c

19樓:匿名使用者

還有一點 巨集只是文字替換 不參與編譯

20樓:匿名使用者

定義嘛,一般用於定義標頭檔案。

21樓:匿名使用者

...基本東西書上都有

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

愚人談娛樂 c語言中,變數只有先宣告,才能使用,這樣避免程式設計時產生不必要的錯誤,一位不同型別變數的儲存格式和長度都不同,所以位元組長度不同,宣告變數可以讓計算機知道你更需要用什麼樣的格式儲存變數,從而高效穩定地執行程式。c語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程式的編寫要求不嚴格...

C 陣列定義與初始化,C 關於陣列的賦值與初始化的問題

int b1 是合法的,系統會自動給陣列b1分配3個整型數的空間大小,因為它是一維陣列,大小可以由後面確定。int b2 它是二維陣列,我們至少需要定義它的最高維的大小。也就是至少是b2 4 想想你什麼都沒定義,我怎麼通過後面的賦值來判斷b2陣列是幾行幾列呢?最後兩組是指標,相信看看指標就會知道,指...

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

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