char
A[20]
memset(A[2],'A',5)//对数组A第3个元素开始的连续5个元素统一赋值为字符'A'
如果每个需要赋值的元素都不同,就只能一个个赋值了。
classA{
char*pname
intproperty[5]
public:
voidipt(char*t,intpt[]){pname=t
for(inti=0i<5i++)
property[i]=pt[i]
}
}
方法如下:
structAc{
char*pname
intproperty[5]
}inita[2]={{"a",1,2,3,4,5},{"b",2,3,4,5,6}}
这样就可以调用ipt了:
Aa
for(inti=0i<2i++)
a.ipt(inita[i].pname,inita[i].property[])
扩展资料
C++中数组初始化
1、定义数组后必须要初始化,如果不初始化,局部变量在栈上,各数组元素的值将是随机数,系统不会自动初始化为0;
2、数组初始化时,把数组元素的第一个数组元素初始化为0,剩余的元素系统会自动初始化为0。如:
inta[5]={0}
3、初始化值的个数可少于数组元素个数,当初始化值的个数少于数组元素个数时,前面的按序初始化相应值,后面的初始化为0;
inta[5]={0,0}
4、在初始化时,如果指定的元素个数超过这个数组已经定义的大小,就会产生错误。如:
inta[3]={1,2,3,4,5}
5、若数组定义时没有指定大小,但初始化采用列表初始化了,那么数组的大小由初始化时列表元素个数决定。如:
inta[]={1,2,3,4,5}
可以通过循环遍历数组中的每个元素,并进行累加。累加的结果可以保存在变量中,需要注意,要保证变量足够保存累加结果,不会出现溢出。
参数为整型数组a,长度为l,对其元素实现累加并返回结果的函数可以写作
int sum(int *a, int l)
{
int r = 0 // 存储累加结果。
int i
for(i = 0 i < l i ++)//遍历a
r += a[i]//累加元素。
return r//返回结果。
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)