關於字串常量賦值給變數,關於字串常量賦值給變數

2021-03-03 23:09:58 字數 2325 閱讀 2356

1樓:思念不溼

首先,字元變數來ch只能儲存一個字自符,你把一堆的字串賦值給它,肯定不行,至於說的加個const只是說明這是個常量字元,字串還是一堆而不是一個字元,字元變數ch肯定還是儲存不了。正確的是char ch(字元陣列),或者char *ch。(字元指標)

建議先去把字元變數,字元陣列,字串,字元指標這些基本概念弄懂來

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

2樓:匿名使用者

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

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

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

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

3樓:關韶侍荏

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

例如:#define a 5

void main()

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

c語言中字串常量或字元常量是否可以賦值給double型別的變數

4樓:匿名使用者

1)字元常量賦值給double型別變

量,使用強制轉換

double d = (double)'a'; //將'a'的ascii碼值97賦值給d,d=97

2)字串賦值給double型別變數,使用atof函式#incluce//此標頭檔案中包含atof的宣告//...

double d;

char *s = "3.14";

d = atof(s); //atof函式把字串轉換成浮點數

5樓:匿名使用者

字元可以,字串不行。

c語言中,為什麼字串可以賦值給字元指標變數

6樓:匿名使用者

在c語言中並沒有bai

字串這個型別

du。所說的字zhi符串就是字元dao陣列。也就是char型別版的陣列。

與普通陣列不同的,權字串必須以'\0'作為結束符。

而在c語言中,型別為t的一維陣列,其首地址等效於該型別的一維指標,即t*型。

於是字串,也就是字元陣列,首地址就可以當做char *型使用了。

事實上,在庫函式以及大多數使用到字串作為引數的函式中,其引數都是char *型的。

7樓:路圖元

p="abcd"; //這句話的意思是把字串的首地址賦給p!

8樓:匿名使用者

單引號和雙引號,賦值的時候這個應該有講究吧!具體忘了,幾年沒去看了。

9樓:土杜土杜

p = "abcd"; 編譯器會將字串"abcd"的地址放到指標變數p中。p存放的是它的地址,不是值。

10樓:棄嬰

字串常量賦值給指標變數應該就是把它的首地址賦給指標變數吧 。

11樓:五轉故劍情深

1. 'a'是字元

常量,bai"a"是字元字面量,一個du加zhi單引號一個加雙引號,是兩個不dao同的東西不要版搞混了

2.1 字元常量'a'使用整數(字符集

權的數值碼)表示,最常用的字符集是ascii碼,在ascii碼中,字元'a'的值為97,這也是為什麼字元可以作加減法運算和比較

2.2 字串字面量"a",在c語言中作為陣列來處理,既然如此,編譯器就會把它看作是char *型別的指標。題幹中p = "abcd"其實是將"abcd"首個字母的地址賦值給了字元指標變數p,或者說p指向了字串字面量"abcd"的第一個字元

2.2.1 c語言編譯器處理長度為n的字串字面量時,會為其分配長度為n+1的記憶體空間,第n+1個位置存放額外追加的空字元(字串結束的標誌)

12樓:

要理解 你要知道 字串copy 幹什麼了 雙引號 做了3件事

1.申請了空間,存放了字串

2. 在字串尾加上了'/0'

3.返回地址

你這裡就是 返回的地址 賦值給了 p 希望採納~~~~~~~~~~~~~~~~

關於輸出字串

include stdio.h main 這樣就能輸出了 你好 你定義的a是字元型的,應該吧a定義為字元陣列,就能輸出了 include stdio.h main include stdio.h main 你的 hello 是個常量字串,得用陣列存起來,這一句 printf s a 就不對,輸出的是...

關於C風格的字串和C 風格的字串小程式

這個我改過了,可以用了。include include include include include using namespace std int main c c風格字串的例項是字串字面值 那string型別的例項是什麼?c 初始化物件有兩種形似,使用string s abcde 的形式來...

C語言,關於字串與字元陣列問題,求高手指點一二啊,謝謝

c的教科書中一再宣告,使用strcpy str1,str2 時一定要保證str1有足夠的空間保證str2拷入。言下之意,strcpy不檢查str1是否能容納str2的拷入,正確性完全由程式設計師來控制。你把 01234567891 拷入到str 10 中,前10個字元是保險的,後二個字元就 難說 了...