免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
數(shù)組初始化及賦值的方法,memset的使用

1. 數(shù)組初始化:

  即定義時(shí)即賦值:

  int a[4]={0}; //每一個位置的int都為0

  int b[4]={1}; //只有第一個元素為1,其他都為0

  所以要想把數(shù)組初始化為其他值,則需要一個個的指定值: int b[4]={1,2,3,4};//比如指定為1,2,3,4

  或者先統(tǒng)一初始化為0,再利用for循環(huán)改變數(shù)組的每一個元素。

2. 數(shù)組的賦值:

  在定義過后,需要給數(shù)組每一個元素賦值時(shí),不能再像初始化那樣: 

             a[4] = {1,3,5,7}; //這是錯誤的,

             a={1,3,5,7};//這還是錯的。

  只能利用for循環(huán),或者利用memcpy從其他內(nèi)存拷貝一份值過來。

  當(dāng)使用完成后,局部數(shù)組會由函數(shù)自動釋放,全局?jǐn)?shù)組則需進(jìn)行下清零。

  這時(shí)候就要用到memset函數(shù)。

    memset(a,0,sizeof(a));

  或者memset(a,0,sizeof(int)*4);   //sizeof取的是字節(jié)。  memset是按字節(jié)進(jìn)行賦值的,這里為16個字節(jié):4*4

3. memset函數(shù):memset(void *s, int ch,size_t n);    // C語言:#include <string.h> 或者 C :  #include <cstring>

一般只用來清零,或者初始化局部數(shù)組為0,以免出現(xiàn)局部數(shù)組的每一個元素為亂值。所以第二個參數(shù)一般為0或者-1.

要注意:

  3.1 memset是按字節(jié)進(jìn)行賦值,

  所以假設(shè)你想利用memset給a數(shù)組每一位置為1,memset(a,1,sizeof(a)); // 這時(shí)候你去打印a的每一位,值都是16843009,而非你期望的1

        原因:int為四個字節(jié),這時(shí)候每個字節(jié)被memset置為1,而每一個元素都是一個int,即 01 01 01 01,讀取十六進(jìn)制為 0x01010101,十進(jìn)制為 16843009

        不過 char類型的可以使用memset隨意賦值為自己想要的,因?yàn)?char只占一個字節(jié),賦多少就是多少。

   e.g.:

                char a[3]={'a' , 'b', 'c'};

                memset(a, 1,sizeof(a));

      for(int i=0;i<sizeof(a)/sizeof(a[0]);i ){

        printf('a[%u]=[%u]\n',i,a[i]);                   //得到a[1]=1; a[2]=1; a[3]=1;

       }

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
memset
memset和fill
關(guān)于數(shù)組作為形參以及二維整型數(shù)組的初始化
【轉(zhuǎn)】 memset()的效率以及源碼分析
C/C++數(shù)組初始化的總結(jié)
memset與memcpy函數(shù)使用詳細(xì)說明
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服