不能把字串常量賦予字元變數這句話怎麼理解,不是

2021-03-03 23:11:27 字數 3345 閱讀 9721

1樓:悟空啊

程式的儲存區分為4塊 1、全域性靜態區(

儲存全域性變數、靜態變數) 2、字元常量版區 (存放字串常量) 3、棧權區 (區域性變數) 4、堆區 (動態分配的記憶體) 字元變數儲存的內容不是字串常量,可以被修改 字串常量是不能修改的 巨集定義的不是變數,只是一個標記,在程式預編譯的時候就是進行簡單的替換操作

記得采納啊

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

2樓:匿名使用者

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

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

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

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

3樓:匿名使用者

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

例如:#define a 5

void main()

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

4樓:匿名使用者

漢字根據編碼方式不同,所佔的大小2~4個位元組不等,漢字賦值給字元變數,只顯示第一個位元組,出問號就不奇怪了

用漢字賦值給字元數陣列然後在顯示的話,一定要考慮編碼方式問題,你的終端支援哪種就選擇哪種,否則亂碼

5樓:匿名使用者

#define namehello "wendy"

#include

#include

void main()

6樓:匿名使用者

c裡面不支援漢子,你用vc++6.0試試,那個可以顯示漢子

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

7樓:匿名使用者

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

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

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

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

8樓:關韶侍荏

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

例如:#define a 5

void main()

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

c語言中是如何定義常量的啊

9樓:劉世媛

我們在用c程式設計時有時需要定義不變的變數,即常量,有兩種方法。

例如:定義常量pi的兩種方式:

1. #define pi 3.1415926f;

2. const float pi 3.1415926f;

常量有整型常量、浮點型常量、字元型常量及字串常量。 『常量定義是指定義符號常量,用一個識別符號來代表一個常量,通過巨集定義預處理指令來實現。

格式:#define識別符號常量

由使用者命名的識別符號是符號常量名。作為符號常量名,一般大寫。一旦定義,在程式中凡是出現常量的地方均可用符號常量名來代替。

對使用了符號常量的程式在編譯前會以實際常量替代符號常量。

全域性變數和區域性變數的區別:

10樓:匿名使用者

#define count 60

這叫巨集定義,不叫常量

常量的定義:

const int count = 60;

形參指定型別,實參指定數值

11樓:天雲一號

c語言定義常量常用的方法有以下2種:

第一種:巨集定義

#define n 3 // 定義了一個常量為3的巨集n,在程式中n就代表3

第二種:給變數初始化賦值

int a = 2; // 定義了一個int型變數,並賦值為2,其實這是用變數來定義常量

注:定義常量還是用巨集定義的比較多。

12樓:匿名使用者

常量的定義:

#define count 60

這就定義了一個常量 count 它的值是一個常量60 在整個程式中不變

關於實際引數和,形式引數:

可以這樣通俗的去理解:

主調函式中的引數是實際引數,被調函式中的引數是形式引數,比如說:如下**段

被調函式:

int max(int a,int b)

主調函式:

main()

在北調函式max(int a,int b)中a,b是形式引數在主函式中max(a,b)中的a,b是實際引數;

13樓:匿名使用者

可以用預處理命令#indefine

和const靜態定義個數便是常量

形參就是函式定義時,所給的引數;而實參就是在main函式中呼叫時所使用的引數,兩者可以相同也可以不相同。

14樓:匿名使用者

實參在主調函式中,形參在被調函式中

當使用的是值傳遞方式時,實參值傳遞給形參,但是形參不把值傳回實參,即單向傳遞。

當使用地址傳遞時,實參地址傳遞給形參,形參把地址傳回實參,是雙向傳遞。

15樓:

#define

定義在全域性區

16樓:☆行雲流水

#define count 100

實參在主調函式中,形參在被調函式中

在巨集定義#define pi 3.1415926中,用巨集名pi代替了一個字串還是常量呢?

17樓:匿名使用者

#define 定義的就是個常數,沒有型別資訊的要限制型別你可以用

const type costant = value例如const float pi = 3.1415926ps:c裡沒有字串型別

18樓:我行你素

字串,常量要用const double pi 3.141592 定義

能不能把字元常量或字元變數賦值給int型別的變數 (書上答案是不能我自己試了試可以)

可以,不過要強制型別轉換。如果該字元是由數字組成 e.g.1 1是可以強制轉換.而 a 的字元 理所當然是不能.除非轉換為字元 charcode a ascii 10 在vc 中常量和變數有什麼區別?c 資料型別之一 常量和變數 一 文字常量 常量之所以稱為 文字常量 其中 文字 是指我們只能以它的...

c語言中字元常量與字串常量有什麼區別

字元常量 在c語言中一個字元常量代表ascii字符集中的一個字元,在程式中用單引號把一個字元括起來作為字元常量。大小寫字母代表不同的字常量 單引號中的空格也是 字元常量只能包含一個字元 字元常量只能用但括號括起來。下面是常用字元的sacii a z 97 122 a z 65 90 0 9 48 5...

C 求解字串陣列和字串變數什麼區別,舉個例子區分下

字串陣列是這樣定義的 char stringarray 3 而字串變數是這樣定義的 char s 10 它們的區別就是字串陣列可以儲存的是多個字串,典型的例子就是main函式的第二個引數,main函式的第二個引數就是一個字串陣列,它用來讓系統傳遞命令列引數,命令列程式的每一個引數之間都是用空格分割的...