牛骨文教育服务平台(让学习变的简单)
博文笔记

C/C++ 获取数组的有效长度

创建时间:2015-01-09 投稿人: 浏览次数:143

有人提议说在C/C++中,使用

sizeof(array) / sizeof(array[0]);

来获取数组的长度(C++中可以使用模板,进行类型匹配)这是不可行的。

<pre name="code" class="cpp">int a[60] = { 1, 2, 3, 4 };
cout<< sizeof(a);

输出为2400。

而如果程序更改为:

char a[] = { 1, 2, 3, 4 };
虽然大小的确是16,但是已经没有实际的意义了。

所以C/C++中并不能获取数组的长度,只能使用指针去判断结束的位置之后计算。

如果是字符型数组:

<del>char a[60] = { 1, 2, 3, 4 };
int t = 0;
while (a[t] != "")	t++;
cout << t;</del>
t的值即为字符数组的有效长度。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。