C语言字符数组如何初始化?

发布时间:2019-11-19 20:05

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,众博国际,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

  2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。

  4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。

  知道合伙人数码行家采纳数:33496获赞数:66432学的虽是计算机网络,但是读的书很多也很杂也是一知半解,所以到现在我也不知道我有啥能力!只知道努力!向TA提问展开全部

  注意:如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即\0 )。

  在c语言中,将字符串作为字符数组来处理。因此可以使用字符串来初始化字符数组。

  但是,上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于字符数组的赋值,字符数组的赋值只能对其元素一一赋值,下面的赋值方法是错误的。

  str=Iamhappy;//错误,字符数组的赋值只能按元素一一赋值

Copyright©2015-2019众博国际版权所有