数组的一些小知识点
···当你没有确定这个数组里面的数字还有多少时,就可以利用 sizeof函数:sizeof() 是一种内存容量度量函数
比如这个例子:
#include<stdio.h>
int main(void)
{
int i,a[]={1,2,3,4,5,6,};//定义了一个未知个数多少的数组
printf("%lu\n",sizeof(a));//输出了这组数组里面所占的内存
for(i=0;i<sizeof(a)/sizeof(a[i]);i++)//这里就是利用了sizeof函数来确定这组数组有多少数据
{
printf("%lu\n",a[i]);//%lu是指long unsigned数据类型无符号长整数或无符号长浮点数,这样子比较方便
}
return 0;
}
当然啦,当数组作为函数的参数的时候:
~不能在【】中给出数组的大小。
~同样的也不能再利用sizeof来计算数组的元素个数。
···当你苦恼于想在一维数组中有许多个0,而仅有几个除了0以外的其他的数是,不妨可以试一下这个办法(我在devc++里面不知道为什么不能运行出正确的结果)
#include <stdio.h>
#define N 10
int main()
{
int a[N]={[1]=3,4,[5]=6};
int i;
for(i=0;i<N;i++)
{
printf("%d\t",a[i]);
}
return 0;
}
运行的结果是:
0 3 4 0 0 6 0 0 0 0
因为在这面我把要输入的数给手动输入进去了,而编译环境会自动的把除了你想要的数之外的数默认为数字0.
当然了这个方法也可以用做更高的多维数组里面,但是在一维数组里面比较常用