求C语言大神指教动态的给数组赋值的问题!高分~

 我来答
年降水量就
2017-05-04
知道答主
回答量:35
采纳率:0%
帮助的人:17.5万
展开全部
一定要存在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]

任君选择
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式