網站首頁 編程語言 正文
常量種類
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
總結
原文鏈接:https://blog.csdn.net/FriedrichSong/article/details/121894230
- 上一篇:C語言中幾種常量的認識和理解_C 語言
- 下一篇:深入了解c語言的循環語句_C 語言
相關推薦
- 2022-07-11 Android?ListView列表優化的方法詳解_Android
- 2023-04-07 Python實現SVM支持向量機的示例代碼_python
- 2023-07-13 React中使用TS完成父組件調用子組件
- 2022-08-15 數據結構之鏈式棧的實現與簡單運用
- 2021-11-29 c++11?chrono全面解析(最高可達納秒級別的精度)_C 語言
- 2022-07-18 Android 解決InputMethodManager 內存泄露問題
- 2022-06-24 Python統計序列和文件中元素的頻度_python
- 2022-05-23 Redis監控工具RedisInsight安裝與使用_Redis
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支