可能重复:
C 编程语言中数组的大小?
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
string a[] = {"some", "text"};
void test(string a[])
{
int size_of_a = sizeof(a) /sizeof(a[0]);
cout << size_of_a;
}
int _tmain(int argc, _TCHAR* argv[])
{
test(a); //gives 0
int size_of_a = sizeof(a) /sizeof(a[0]);
cout << size_of_a; //gives 2
return 0;
}
正如您在评论中看到的那样 test(a) 给出了 0 而不是我所期望的 2 。有人可以解释为什么以及如何纠正它吗?谢谢