[問題] pointer_array size的問題
void test(char *a)
{
cout << sizeof(a) << endl;// 4
cout << strlen(a) << endl;// 5
}
int main()
{
char a[] = "12345";
cout << sizeof(a) << endl; // 6
cout << strlen(a) << endl; // 5
return 0;
}
問題:
函數裡面的*a(或者是a[],抑或是a[6]),算出來的sizeof(a)一定都是4(pointer的大小)
但是在main函數裡的sizeof(a)卻跟長度有關(a不也是指向a[0]的pointer嗎?)
而strlen不論在main或是在test均可接到矩陣長度
目前是有點背的方式,strlen的處理不分函數位置
而sizeof只有在當下的函數裡才有效,傳出去的都是pointer
請問這邊有什麼觀念可以補充的嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.105
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1414241770.A.C43.html
※ 編輯: kdok123 (140.112.25.105), 10/25/2014 20:58:35
→
10/25 21:00, , 1F
10/25 21:00, 1F
→
10/25 21:00, , 2F
10/25 21:00, 2F
→
10/25 21:01, , 3F
10/25 21:01, 3F
→
10/25 21:02, , 4F
10/25 21:02, 4F
→
10/25 21:03, , 5F
10/25 21:03, 5F
→
10/25 21:03, , 6F
10/25 21:03, 6F
→
10/25 21:04, , 7F
10/25 21:04, 7F
推
10/25 22:28, , 8F
10/25 22:28, 8F
推
10/26 23:48, , 9F
10/26 23:48, 9F
推
10/27 01:08, , 10F
10/27 01:08, 10F
→
10/27 01:09, , 11F
10/27 01:09, 11F
→
10/27 09:40, , 12F
10/27 09:40, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章