a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

C語言中關于sizeof 和 strlen的區別分析

2020-01-26 15:10:14
字體:
來源:轉載
供稿:網友

1、編譯時計算運算符sizeof,可用類型或變量做參數,計算占用內存的大小。sizeof后若是類型必須加括弧,若是變量名可不加括弧。sizeof(x)可用來定義數組維數如:

復制代碼 代碼如下:

printf("%d/n", sizeof(short));

    輸出的結果為短整型的長度2。用結構類型或變量做參數時,sizeof 返回實際的大小,當用于靜態數組時,sizeof 返回全部數組的尺寸。sizeof 操作符不能返回動態地被分派了的數組或外部的數組的尺寸

2、運行時計算strlen,只能用char*做參數,且必須是以''/0''結尾的。計算的是字符串的長度。如:

復制代碼 代碼如下:

char str[20]="0123456789";
int a=strlen(str); // 結果為a=10
int b=sizeof(str); // 結果b=20;

3、處理靜態數組:

復制代碼 代碼如下:

char str[20]="0123456789";
int a=strlen(str); // a=10; strlen 計算字符串的長度,以/0'為字符串結束標記。
int b=sizeof(str); // b=20; sizeof 計算的則是分配的數組str[20] 所占的內存空間的大小,不受里面存儲的內容影響。

4、處理指針:

復制代碼 代碼如下:

char* ss = "0123456789";
sizeof(ss) // 結果4,

ss是指向字符串常量的字符指針,sizeof 獲得的是一個指針所占的空間。sizeof(*ss) 結果1,*ss是第一個字符 其實就是獲得了字符串的第一位'0' 所占的內存空間,是char類型的,占用1字節。strlen(ss)= 10,若要獲得這個字符串的長度,則一定要使用 strlen

以上所述就是關于sizeof 和 strlen區別的全部內容了,希望大家能夠喜歡

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: av在线播放一区二区 | 黄久久久 | 日韩欧美国产一区二区 | 日韩电影免费在线 | 91香蕉视频 | 欧美激情精品 | 欧美精品一区二区在线观看 | 99精品免费在线 | 日韩在线一区二区 | 91伦理片 | 午夜av在线播放 | 久久久久一区二区 | 少妇一区二区三区毛片免费下载看 | 一级片av| 91精品综合久久久久久五月天 | 欧美精品一区二区三区四区五区 | 视频一区在线观看 | 2024自拍偷拍 | 日本三级电影天堂 | 亚洲精品国产区 | 2021最新热播中文字幕-第1页-看片视频 亚洲第一男人天堂 | 亚洲精品在线观看免费 | 免费搞黄视频 | 蜜桃久久久久久 | 看免费的毛片 | 亚洲综人网 | 超碰成人av | 欧美黄色网 | 免费一级黄色电影 | 欧美高清成人 | jvid美女成人福利视频 | 欧美影片 | 在线观看亚洲大片短视频 | 亚洲天堂一区 | 日韩精品无码一区二区三区 | 精品国产乱码久久久久久牛牛 | 色精品| 久久亚洲国产精品 | 国产精品一区二区三区网站 | 欧美一区二区三区视频 | 欧美成人第一页 |