#include <iostream>
using namespace std;
int a[] = {1, 2, 3};
int main()
{
int b[] = {1, 2, 3};
cout << sizeof(a) / sizeof(int) << endl; // 3
cout << sizeof(b) / sizeof(b[0]) << endl; // 3
return 0;
}
(1)全局变量数组
一般ACM比赛用这样。
#include <iostream>
using namespace std;
int a[] = {1, 2, 3};
void func()
{
cout << sizeof(a) / sizeof(int) << endl; // 3
cout << sizeof(a) / sizeof(a[0]) << endl; // 3
}
int main()
{
func();
return 0;
}
(2)增加一个参数length
一般排序算法就采用这样的形式。
#include <iostream>
using namespace std;
void func(int a[], int length) {}
int main()
{
int a[] = {1, 2, 3};
int length = sizeof(a) / sizeof(a[0]);
// int length = sizeof(a) / sizeof(int);
func(a, length);
return 0;
}
(3)全局变量length
记得在数组的相关部分初始化全局变量length
#include <iostream>
using namespace std;
int length;
void func(int a[]) {}
int main()
{
int a[] = {1, 2, 3};
length = sizeof(a) / sizeof(a[0]);
// length = sizeof(a) / sizeof(int);
func(a);
return 0;
}
#include <stdio.h>
int main ()
{
int n[ 10 ]; /* n 是一个包含 10 个整数的数组 */
int i,j;
/* 初始化数组元素 */
for ( i = 0; i < 10; i++ )
{
n[ i ] = i + 100; /* 设置元素 i 为 i + 100 */
}
//获取数组 n[] 元素得个数
int sznum;
sznum=sizeof(n)/sizeof(n[0]);
printf("num[%d]\n", sznum );
/* 输出数组中每个元素的值 */
for (j = 0; j < 10; j++ )
{
printf("Element[%d] = %d\n", j, n[j] );
}
return 0;
}
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询