如何快速给一个整形数组赋同一个值

来源:百度知道 编辑:UC知道 时间:2024/06/04 06:57:40

(1) memset()函数的功能用某个字节给某块内存区域的每个字节赋值,所以它只适合于一个字节类型的,如char。但是整形数组不可以用menset().
(2) 如果数组定义所提供的初始化数据数目少于数组元素个数,则按顺序填充相应内存中的前面部分,后面的元素初始化为0,如果提供的初始化数据数目多于所声明的数组元素个数,则语法错误。
意思就是:如int a[3]={2}; //a[0]=2 a[1]=0 a[2]=0
如果你要给整个数组赋的值为0,则可以才用int a[60]={0};
如果不是0,就用循环。

有两种方法:
1.直接赋值
A[N]={X,X,X,X,X,X,X,X};
N是数组元素的个数,X是你所要赋得值
此方法适合数组元素个数不多时使用

2.循环语句
for(i=0;i<N;i++)
A[i]=X;// X是要赋得值
N为任意数时 此法比较好用

建议使用方法二

(1) memset()函数的功能用某个字节给某块内存区域的每个字节赋值,所以它只适合于一个字节类型的,如char。但是整形数组不可以用menset().
(2) 如果数组定义所提供的初始化数据数目少于数组元素个数,则按顺序填充相应内存中的前面部分,后面的元素初始化为0,如果提供的初始化数据数目多于所声明的数组元素个数,则语法错误。
意思就是:如int a[3]={2}; //a[0]=2 a[1]=0 a[2]=0
如果你要给整个数组赋的值为0,则可以才用int a[60]={0};
如果不是0,就用循环。

(1) memset()函数的功能用某个字节给某块内存区域的每个字节赋值,所以它只适合于一个字节类型的,如char。但是整形数组不可以用menset().
(2) 如果数组定义所提供的初始化数据数目少于数组元素个数,则按顺序填充相应内存中的前面部分,后面的元素初始化为0,如果提供的初始化数据数目多于所声明的数组元素个数,则语法错误。
意思就是:如int a[3]={2}; //a[0]