求C语言大神指教动态的给数组赋值的问题!高分~
1个回答
展开全部
一定要存在data[0]里面吗看
可以循环赋值
void set(int data[50], int new_value)
{
int i;
for(i = 49; i >=1; i --)
data[i] = data[i - 1];
data[0] = new_value;
}
也可以整体复制
void set(int data[50], int new_value)
{
int i;
memcpy(&data[1], &data[0], sizeof(int) * 49);
data[0] = new_value;
}
效率更高的是用一个变量保存当前的位置,也就是新的不存在data[0]里面,而是动态改变
int index = 0;
void set(int data[50], int new_value)
{
data[index++]=new_value;
}
读取的时候把data[index]当做data[0]
任君选择
可以循环赋值
void set(int data[50], int new_value)
{
int i;
for(i = 49; i >=1; i --)
data[i] = data[i - 1];
data[0] = new_value;
}
也可以整体复制
void set(int data[50], int new_value)
{
int i;
memcpy(&data[1], &data[0], sizeof(int) * 49);
data[0] = new_value;
}
效率更高的是用一个变量保存当前的位置,也就是新的不存在data[0]里面,而是动态改变
int index = 0;
void set(int data[50], int new_value)
{
data[index++]=new_value;
}
读取的时候把data[index]当做data[0]
任君选择
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询