求具体举例说明C语言数组的初始化和赋初值有何不同?

书上写了将程序运行时通过赋值语句或输入语句使变量得到第一个值的过程称为赋初值,赋初值需要占用程序运行时间;而在定义数组时指定元素的初值称为初始化,初始化是在编译阶段完成,... 书上写了将程序运行时通过赋值语句或输入语句使变量得到第一个值的过程称为赋初值,赋初值需要占用程序运行时间;而在定义数组时指定元素的初值称为初始化,初始化是在编译阶段完成,无需占用运行时间。
我对这个赋初值的概念还是比较模糊,不能区别其与初始化的不同,求举例具体说明。
展开
 我来答
chiconysun
2011-09-27 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2569万
展开全部
你的书上好像错了,所谓赋初值一般而言就是初始化啊
从根本上说,其实初始化也并不是编雀亏译阶段完成,对于全局变量(数组)而言,一种是exe文件中设定该程序的数据顷燃神区中的为这个数组存放空间中的值已经是初值了,当然这个值倒是编译程序生成目标程序时设定的,程序运行加载时,给定空间中的内容直接拷贝到空间了,段庆这个不占运行时间(C++中则是程序加载到main函数执行之前完成的,这个也不占运行时间)
对于自动局部变量而言,原则上说,每次运行到该模块就会重新初始化一次,肯定是要占用运行时间的,静态局部变量则第一次运行时才初始化一次,自然也会占用运行时间

至于你用赋值语句设定所谓的初值,一定会占用运行时间
百度网友0f0fe7b
2017-10-23
知道答主
回答量:12
采纳率:50%
帮助的人:5.8万
展开全部
例1:
初答悄旦始化:
char str[8]= "运空12345678"
赋初值:
char str[8];//定义
char i;
for(i=0;i<8;i++)//赋初值
{
    str[i] = i+1;
}
//--------------------------------//
例2:
int dat = 10; //初始清扰化
//-----//
int dat;
dat = 10;  //赋初值

希望能对你的理解有所帮助!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
工作服的
2011-09-27 · TA获得超过146个赞
知道答主
回答量:56
采纳率:0%
帮助的人:27.8万
展开全部
fsdfsdfsdfsxfsf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式