Re: [問題] 傳陣列後 能在函數中 計算array大小?
看板C_and_CPP (C/C++)作者Qoofate (大魯閣_最強打者)時間11年前 (2015/04/21 21:13)推噓0(0推 0噓 14→)留言14則, 6人參與討論串2/2 (看更多)
※ 引述《Qoofate (大魯閣_最強打者)》之銘言:
: Hi all,
: 小弟想問一下
: 例如
: saveArrayToFile(char* Array,char dst )
: {
: .... 想計算 傳入array的大小 或元素個數,用sizeof(Array)/...
: }
: 但發現好像都算出8byte 指標的大小
: 後來改成saveArrayToFile(char* Array,char dst ,int n)
: 多一個n先計算完後傳進 是可以用
: 但是有辦法在function中 用Array指標 算出大小嗎?
: Thank you~
不好意思 再借問一下
如果傳入的array 是一個固定已經宣告好的固定char array[]={1,2,3,4};
可以在function中計算嗎
小的想到 如果在func中用ptr 指向array ,在去一個個檢查 *(ptr++) 是否等於 null
這樣是否可算出元素個數
------------------------------
自問自答:
靜態array可以 範例如下:
char* ArrayToFile(char* Array,char* dst, int n)
{
int i=0;
char *ptr;
ptr=Array;
while(*ptr!=0)
{
ptr++;
i++;
}
int count=i-1;
printf("array size=%d \n", count);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.217.197
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1429622031.A.64F.html
→
04/21 21:20, , 1F
04/21 21:20, 1F
→
04/21 21:26, , 2F
04/21 21:26, 2F
→
04/21 21:32, , 3F
04/21 21:32, 3F
→
04/21 21:38, , 4F
04/21 21:38, 4F
→
04/21 22:39, , 5F
04/21 22:39, 5F
→
04/21 22:40, , 6F
04/21 22:40, 6F
※ 編輯: Qoofate (180.176.217.197), 04/21/2015 23:47:00
→
04/22 02:11, , 7F
04/22 02:11, 7F
→
04/22 02:12, , 8F
04/22 02:12, 8F
→
04/22 08:45, , 9F
04/22 08:45, 9F
→
04/22 09:54, , 10F
04/22 09:54, 10F
→
04/22 09:56, , 11F
04/22 09:56, 11F
→
04/22 09:58, , 12F
04/22 09:58, 12F
→
04/22 09:59, , 13F
04/22 09:59, 13F
→
04/22 13:32, , 14F
04/22 13:32, 14F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章