欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1816|回復: 9
打印 上一主題 下一主題
收起左側

請教大家sizeof函數

[復制鏈接]
跳轉到指定樓層
樓主
ID:978416 發表于 2024-6-26 20:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
函數
void buzzer_on(int*        music)
{
       sizeof(music)
       
}


實際傳入的是一個數組
int solitary_brave[]=
{
        M6,50,M7,50,H1,50,H2,50,M7,50,H1,50,H1,100,Z0,10,
};



buzzer_on(solitary_brave);

想問一下各位為什么sizeof(music)打印出來的值是4,而不是實際大小
直接sizeof(solitary_brave)打印出來才是實際的值
是哪里錯了嗎


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:526108 發表于 2024-6-27 06:35 | 只看該作者
music是指針,計算的是指針占用內存的大小,還有sizeof不是函數
回復

使用道具 舉報

板凳
ID:1109793 發表于 2024-6-27 07:34 | 只看該作者
sizeof是操作符,不是函數,只能用在靜態內存分配的變量上面。
回復

使用道具 舉報

地板
ID:744809 發表于 2024-6-27 08:45 | 只看該作者
int*        music 你傳進去的是指針,你這個平臺的cpu int型指針的大小是4
回復

使用道具 舉報

5#
ID:401564 發表于 2024-6-27 09:35 | 只看該作者
sizeof是C語言關鍵字,不是函數,它就像for  if之類的
它的含義1樓已經說明了
sizeof(music)它是計算music所占空間的大小,就是music變量所占的字節數
回復

使用道具 舉報

6#
ID:1121700 發表于 2024-6-27 10:19 | 只看該作者
sizeof(*music)
回復

使用道具 舉報

7#
ID:978416 發表于 2024-6-27 21:23 | 只看該作者
再問一下各位,像這樣怎么才可以讀取出實際的大小呢,就是以傳入形參的方式,有沒有其他的關鍵字,或者怎樣改動一下,謝謝各位。
回復

使用道具 舉報

8#
ID:1127396 發表于 2024-6-28 10:19 | 只看該作者
可以把size大小作為參數傳遞給目標buzzer_on。
回復

使用道具 舉報

9#
ID:1127399 發表于 2024-6-28 10:44 | 只看該作者
一般都是將數組地址、數組長度作為參數傳入函數的。

// 函數
void buzzer_on(int*  music, int len)
{
     ...  
}

int main()
{
    buzzer_on(solitary_brave, sizeof(solitary_brave));
}

但是,如果因為特殊原因,不能把長度當參數,那,,,如果是我的話,會在每個數組末尾加個特殊字符,例如:
// 數組
int solitary_brave_1[]=
{
        M6,50,M7,50,H1,50,H2,50,M7,50,H1,50,H1,100,Z0,10,FF // FF當作特殊字符
};

// 函數
void buzzer_on(int*  music)
{
     int* ptr;
     int len = 0;

     ptr = music;
     while(*ptr != FF)
     {
         len++;
         ptr++;
     }
     len *= 4; // len就是數組長度
}
回復

使用道具 舉報

10#
ID:592807 發表于 2024-7-2 10:24 | 只看該作者
egsresrhtrhrtst 發表于 2024-6-27 21:23
再問一下各位,像這樣怎么才可以讀取出實際的大小呢,就是以傳入形參的方式,有沒有其他的關鍵字,或者怎樣 ...

要不你試試函數strlen()函數,這是計算字符串長度的函數。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表