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的區域性變數一般是在棧上進行分配的。棧使用的是ram,掉電內容丟失,上電內容隨機。這裡的隨機,一般指其不能確定其內容一定是什麼,而不是說其內容完全沒有規律,與數學上的隨機數沒有什麼關係。舉個例子,乙個位元組的ram,8位有256種可能。數學上講隨機數,那麼這個位元組上電後應該是256種可能性中某乙...

cc通過初始化列表和建構函式內賦值初始化成員

周生 看你的成員變數型別和繼承方式了,公有成員變數和公有繼承,直接賦值就行了。私有成員變數,繼承之後要在初始化列表中初始化 初始化表的必要性 1 類中包含常量和引用型的成員變數。必須通過建構函式和初始化表顯式地對其進行初始化。2 在子類中顯式地構造其基類部分。class a a int n m n ...

c語言初始化陣列時一定要使用靜態儲存嗎

ansi iso c之前,對陣列的一次性初始化必須要求陣列被宣告為靜態的,樓上說static和extern與變數的使用範圍有關,沒錯,但不是這裡要使用的含義,這裡靜態 全域性變數預設為靜態的 指的是該變數只初始化一次。全域性變數肯定是只初始化一次的,所以這主要是針對函式塊裡面宣告的變數來說的,就是說...