C语言给数组全部赋初值(非零)的方法,不用循环!!
memset(a,x,sizeof(a));——其中x是你要赋的初值。如有int a[1000],x=0;memset(a,x,sizeof(a));执行则迟后将从地孙卜李址a起存入4000个0……弊伏
C语言数组赋值
char
ch[7]={“65ab21”}就是字符数组赋初值,类似于斗卜
char
ch[7]={‘6′,’5′,’a’,’b’,’2′,’1′,’\0′};
s=10*s+ch[i]-‘0’的意思是把字符串转化位数字,比如说”123″,它是字符串,转化为数字123,ch[i]-‘0’就是把数槐毁字字符与零字符的acsii码相减,得到数字字空明穗符相应的数字,比如’5’-‘0’=5
C高手请进!!如何给结构体中的字符数组赋初值?
char数组赋值不可以这样,晌穗当然如果是定义时候宴轿卜就给初始值的时候是可以的
可以帆让使用strcpy函数
typedef struct FileName {
char fn[15];
struct FileName *next;
}*pFhead;
strcpy(pFhead-fn,”Common Numbers”);
当然要考虑长度的问题,否则会出错
求具体举例说明C语言数组的初始化和赋初值有何不同?
你的书上好像错了,所谓赋初值一般而言就是初始化啊
从根本上说,其实初始化也并不是编译阶段完成,对于全局变量(数组)而言,一种是exe文件中设定该程序的数据区中的为这个数组存放空间中的值已经是初值了,当然这个值倒顷燃神是编译程序生成目标程序时设定的,程序运行加载时,给定空间中的内容直接拷贝到空间了,这个不占运行时间(C++中则是程序加载到main函数执行之前完成的,这个也不占运行时间)
对于自动局部变段庆量而言,原则上说,每次运行到该模块就会重新初始化一次,肯定是要占用运行时间的,静态局部变量则第一次运行时才初始化一次,自然也会占用运行时间
至于你用雀亏赋值语句设定所谓的初值,一定会占用运行时间