您好,登錄后才能下訂單哦!
怎么解析C語言的常量和字符串,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
C語言中,我們常使用的常量有以下幾種:
字面常量
const常變量
#define定義的標識符常量
枚舉常量
代碼如下
#include<stdio.h> enum { //使用enum來建立枚舉常量 papa,//不賦值默認從0開始,如若賦值,從此依次遞增 mama, me, familynumber }; int main() { 3.1415926;//普通的字面常量 const int a = 100;//定義const常量 printf("a=%d\n", a);//a被const定義,變得不可修改 #define T 999 printf("T=%d\n", T);//使用宏定義常量T(既define的標識符常量) printf("familynumber=%d", familynumber);//枚舉常量的應用,打印出一個整形 return 0; }
在用const定義一個常變量后,如仍然給這個常變量賦值,將會出現以下情況
注意!!
此時,此常變量既不是變量也不是常量!
因為,如果我們用此常變量定義一個數組的大小時,系統也會報錯
C語言中,用char定義字符類型數據變量;
我們知道了例如'a'
,是一個字符,
那么什么是字符串呢?
其實啊,字符串就是多個字符。
“Hello World!”
這就是一行簡單的字符串。
字符串的結束標志
char arr1[] = {"abcd"}; char arr2[] = {'a','b','c','d'}; char arr3[] = {'a','b','c','d','\0'}; printf("%s\n", arr1); printf("%s\n", arr2); printf("%s\n", arr3);
此時打印出結果為
arr2里面有四個字符,與arr3相比,最后缺乏了結束標志\0;
所以出現了經典的燙燙燙燙,這是因為缺乏結束標志,就會導致數據溢出;
那為什么arr1沒有問題呢?
因為arr1是由字符組成的字符串,字符串的最后,隱藏有一個結束標準\0,只不過我們看不到罷了~
關于字符串的長度
我們之前了解到,想要得到某個數據類型占據了多少內存,
得用到庫函數 sizeof,
那我們如果想要得到一個字符串的長度,那我們應該用什么呢?
strlen
int main() { printf("%d\n", strlen("abcd"));//使用庫函數strlen得到字符串的長度,注意;\0不會被計算入內 return 0; }
如此,我們便得到了字符串的長度,4
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。