c语言如何先声明后初始化字符数组

c语言,字符数组的初始化有两种方式:
char str[10] = “hello”;
或者 char str[10] = {'h', 'e', 'l', 'l', '0', '\0'};
但是我声明字符数组的时候不想初始化,在使用时再初始化,如何实现?
谢谢高人指教!
一个一个元素的赋值当然可以。但如何用一条语句对字符数组赋值?

在定义的时候就对数组进行赋值操作称为初始化;

先定义后赋值并不能称为初始化,只能叫做对数组进行赋值操作。


举例如下:

char a[]="abcd";  // 定义(声明)字符数组a,并进行初始化
// 以下为数组的赋值操作
char b[5];  // 定义(声明)一个字符数组b
// 对字符数组每个元素进行赋值
b[0] = 'a';  
b[1] = 'b';
b[2] = 'c';
b[3] = 'd';
b[4] = 'e';

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-05
初始化数组语句:
memset(str,0,sizeof(str));
第2个回答  2010-05-23
直接char a[10];即可,后边用时在赋值就行了!
例如:
#include "stdio.h"
main()
{
int i;
char a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);/*循环赋值,自己手动输入数组中元素*/

}
第3个回答  2010-05-29
利用循环!
char str[n] ;
for(i=1,i<=n;i++)
第4个回答  2010-05-23
char str[10];
相似回答