首页 > 编程知识 正文

给char数组赋值,c语言字符串数组输入

时间:2023-05-03 16:16:38 阅读:21218 作者:2398

字符串(c语言):

以“abcd”为例,说明如下。

1 .申请了空间(常数区域),保存了字符串

2 .字符串末尾加上“/0”

3 .返回地址

一定记清楚!!

1 .字符串为char*intmain(intargc,const char *argv[] ) { char *p1='hello '; printf(P1[0]=%c(n ),*p1 ); printf(%s(n )、p1 ); char *p2=NULL; p2='world '; printf(P2[0]=%C(n ),*p2 ); printf(%s(n )、p2 ); 返回0; }

小结:以下两种形式赋值效果相同

char*p1='hello ';

char*p2=NULL;

p2='world ';

2 .字符串为数组1) 字符串赋值给定长数组

intmain(intargc,const char *argv[] () charP1(10 )='Hello '; printf('%s ',p1 ); 返回0; (/)结果输出: Hello*/intmain(intargc,const char *argv[] ) charP2(10 ); p2='hello '; 返回0; //src/demon.c : in function ' main ' :/src/demon.c 336046336083360 error : asignmenttoexpressionwork|^ . demon.c :453360103360 warning : variable ' p2 ' setbutnotused [-w unused-but-set-variable ] 45|^~*/33http://

charp1[10]='hello ';

charp2[10];

p2='hello ';

http://www.Sina.com/http://www.Sina.com /

小结:以下两种形式不同

intmain(intargc,const char *argv[] () charp ) )='Hello '; printf('%s ',p ); printf(sizeof(p ) p[]=%d ',) int (sizeof ) p ); 返回0; (/)结果输出:执行任务:.)传统枕头(demon.exehellosizeof(p[] )有6个终端用于任务,然后按任意键关闭。 */char str[]='hello '; 因为定义了字符数组,所以等于定义了存储“hello”的空间。 此外,由于字符数组逐个存储字符,编译器将此语句解析为char str[6]={'h '、' e '、' l '、' l '、' o '和' '

对于第二种形式的理解:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。