c语言中 字符串赋值给数组的三种表达方式是什么?

c语言中 字符串赋值给数组的三种表达方式是什么?
这个对不 char[10];strcpy(b,"hello!");

1、使用结构体类型(自定义类型)

#define MAXSIZE 20

typedef struct{

char ch[MAXSIZE];

int len;                

}String;

2、初始化字符串的方法:

String t;

StrAssign(t,"I am happy");     

3、初始化一个字符串的方法如下,在最后添加'\0'

char str[] = {'I','a','m','h','a','p','p','y','\0'};

扩展资料

C语言中字符串的定义方式

第1种:

char a[5]="hello";

第2种:

char a[]="hello";

第3种:

char* a="hello";

第4种:

char a[10];

gets(a);

第5种:

char* a[5]={"hello",

"nihao",

"good",

"ok",

"bye"};


         

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-27
1楼的答案是错误的,建议回答别人问题还是要看看书的!

第一种方式:定义的时候进行初始化
char str[200]={"abcd"};//这里去掉大括号也行

第二种方式:对数组各元素单独赋值

char str[200];
str[200]={'a','b','c','d'};
/*编译系统会在最后加上'\0'的,然后就是不能使用str[200]="abcd"的方式对字符数组进行整体赋值*/

第三种方式:应该是使用指针吧
char *str="abcd";
或者 char *str;
str="abcd";
使用指针时,这两种方式都是可以的,而且你可以使用下标的方式引用字符串中的各字符本回答被提问者和网友采纳
第2个回答  推荐于2016-10-10
1、定义的时候直接用字符串赋值
char a[10]="hello";
注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!
2、对数组中字符逐个赋值
char a[10]={'h','e','l','l','o'};
3、利用strcpy
char a[10]; strcpy(a, "hello");
易错情况:
1、char a[10]; a[10]="hello";//一个字符怎么能容纳一个字符串?况且a[10]也是不存在的!
2、char a[10]; a="hello";//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!
还有:不能使用关系运算符“==”来比较两个字符串,只能用strcmp() 函数来处理。
第3个回答  2009-03-16
char str1[12];int i;
for(i=0;i<12;i++)
scanf("&c",&str1[i]);

char str1[12];int i;
scanf("&s",&str1);

char str1[12];
gets(str1);
我应该没有也弄错你的意思吧。
第4个回答  2009-03-16
char str[200]="abcd";

char str[200]={"abcd"};

char str[200];
str[200]="abcd";

不晓得你还要什么

c语言中 字符串赋值给数组的三种表达方式是什么?
1、使用结构体类型(自定义类型)define MAXSIZE 20 typedef struct{ char ch[MAXSIZE];int len;}String;2、初始化字符串的方法:String t;StrAssign(t,"I am happy");3、初始化一个字符串的方法如下,在最后添加'\\0'char str[] = {'I','a','m','h','a','p','p','y','\\0'}...

C语言 怎么把字符数组中的字符赋值给字符变量
第一种写法,用一个字符串赋值,实际上保存了4个字节(包含字符串结束符)。第二种写法,只赋值了三个字节。1、char c[5];c[0]=’H’; c[1]=’e’; c[2]=’l’; c[3]=’l’; c[4]=’o’;2、charc[5]={‘H’,’e’,’l’,’l’,’o’};3、(1)如果在定义字符数组...

c语言字符串的赋值方法
在C语言中,字符串的赋值方式有以下几种:1.字符数组赋值:可以通过定义一个字符数组,并逐个赋值字符来表示字符串。例如:char str[] = "Hello World";2.字符指针赋值:可以通过定义一个字符指针,并将指针指向字符串常量或字符数组的首地址来表示字符串。例如:char *str = "Hello World";3.strcp...

C语言里如何把输入字符串赋值给字符数组?
int main(){ char s[20];scanf("%s",s);printf("%s\\n",s);return 0;} 直接用scanf接收输入就可以复制给字符数组。

c语言字符串怎么赋值?
字符串可以赋值给字符指针变量,或者将字符串用字符数组保存。如:char a[10]={'h','e','l','l','o'};3、利用strcpy strcpy是一种C语言的标准库函数,strcpy把含有'\\0'结束符的字符串复制到另一个地址空间,返回值的类型为char*。如:char a[10];strcpy(a, "hello");...

C语言中字符串是怎么赋值的?
在C语言中,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值。1、指针式赋值。通过程序的运行情况,可以知道:char *p = "hello";这种字符串的赋值方式是完全没有问题的。要理解这种赋值方式,首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了...

c语言怎样给数组赋值
1、定义的时候直接用字符串赋值 char a[10]="hello";注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!2、对数组中字符逐个赋值 char a[10]={'h','e','l','l','o'};3、利用strcpy char a[10]; strcpy(a, "hello");

c语言中如何给数组定义并赋初值?
字符串数组定义赋值:char c[6]={'c', ' h ', 'i', 'n', 'a' , '\\0' } 整数数组定义赋值:int a[5]={1,2,3,4,5};int a[5];for(int i=0;i<5;i++)a[i]=i;定义float数组并赋值:float b[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,0.0} ...

c语言如何给一个大数组赋初值?
有3种方法。1.将数据保存到文件中,再直接从文件读取。2.因为是二维字符数组,可以直接用字符串赋值,如:char strs[2][11]= { "123456","asd"};3.将所有数据定义成宏,再赋值,如:define data { \\ {'a','b','c'}, \\ {'a'...

C语言怎样给字符数组赋值
1、单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值。例子:char a[10];char ch='a';for( i=0;i<10;i++ )a[i]=ch+i ; \/\/可通过数组下标引用数组元素,完成赋值 char *p;for( p=a; p

相似回答