日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 - sizeof和strlen的区别

發(fā)布時(shí)間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 - sizeof和strlen的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

sizeof和strlen的區(qū)別:

  1.sizeof操作符的結(jié)果類型是size_t,它在頭文件中typedef為unsigned int類型。

    該類型保證能容納實(shí)現(xiàn)所建立的最大對象的字節(jié)大小。

  2.sizeof是算符,strlen是函數(shù)。

  3.sizeof可以用類型做參數(shù),strlen只能用char*做參數(shù),且必須是以''\0''結(jié)尾的。

    sizeof還可以用函數(shù)做參數(shù),比如:

      short f();

      printf("%d\n",sizeof(f()));

    輸出的結(jié)果是sizeof(short),即2。

  4.數(shù)組做sizeof的參數(shù)不退化,傳遞給strlen就退化為指針了。

  5.大部分編譯程序 在編譯的時(shí)候就把sizeof計(jì)算過了 是類型或是變量的長度這就是sizeof(x)可以用來定義數(shù)組維數(shù)的原因

    charstr[20]="0123456789";

    int a=strlen(str);//a=10;

    int b=sizeof(str);//而b=20;

  6.strlen的結(jié)果要在運(yùn)行的時(shí)候才能計(jì)算出來,時(shí)用來計(jì)算字符串的長度,不是類型占內(nèi)存的大小。

  7.sizeof后如果是類型必須加括弧,如果是變量名可以不加括弧。這是因?yàn)閟izeof是個操作符不是個函數(shù)。

  8.當(dāng)適用了于一個結(jié)構(gòu)類型時(shí)或變量, sizeof 返回實(shí)際的大小,

    當(dāng)適用一靜態(tài)地空間數(shù)組, sizeof 歸還全部數(shù)組的尺寸。

    sizeof 操作符不能返回動態(tài)地被分派了的數(shù)組或外部的數(shù)組的尺寸

  9.數(shù)組作為參數(shù)傳給函數(shù)時(shí)傳的是指針而不是數(shù)組,傳遞的是數(shù)組的首地址

轉(zhuǎn)載于:https://www.cnblogs.com/goul/p/9676123.html

總結(jié)

以上是生活随笔為你收集整理的C语言 - sizeof和strlen的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。