c语言中如何给字符串数组赋值
2013-12-16 15:55
501 查看
[align=center]c语言中如何给字符串数组赋值[/align]
1.问题
3.解决办法
注意:在c语言中,非字符数组初始化时,不能直接对字符数组进行赋值,可以使用strcpy对字符数组进行赋值
1.问题
这是我写的 struct student { int x; char name[10]; }; void main() { student st; st.name= 这里能不能直接赋值 一个字符串 “123”;? 如果不用scranf() } 2.原因 st.name="123"; 非法,常量字符串不能直接赋值给字符数组,因为st.name 地址是确定的,不能再改了。 char name[10]="123";可以的,定义时,进行初始化字符数组。
3.解决办法
注意:在c语言中,非字符数组初始化时,不能直接对字符数组进行赋值,可以使用strcpy对字符数组进行赋值
可以用string.h,头文件里面的strcpy()函数,拷贝。 strcpy(st.name,"123"); 4.strcpy()的作用 strcpy()的作用将一个字符串复制到另一个字符数组中。 例: char a[]="this is my name ,and what's your name"; char b[]="my name is wang tiqn qiao"; strcpy(a,b);//把b字符数组中的内容拷贝a字符数组中 5.strcpy()和strncpy()的区别 strcpy函数连'\0'都复制到目标数组。 而strncpy函数不把'\0'复制到目标数组,有一种情况strncpy的效果跟strcpy的效果相同,就是把b数组的整个数组复制过去,包括'\0'.
相关文章推荐
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之四 - 参数化
- Milenage算法的改写(c,c++变成java)
- Effective C++读书笔记(2)
- 要心中有“数”——C语言初学者代码中的常见错误与瑕疵(8)
- C++ Boost Thread 编程指南
- NEW IN C++ 11
- readers and writers problem 读者写者问题 写者优先 C++实现
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制
- C++计时的几种方法说明及例程
- Effective C++读书笔记(1)
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
- C++字符转UTF-8字符
- C++编写Config类读取配置文件
- C++界面库大全2013
- C++ Keywords Alternative Operator Names
- c++原型模式(Prototype)
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest
- c++文件读写
- C语言中的可变参数函数的浅析(以Arm 程序中的printf()函数实现为例) .
- C语言中的可变参数函数的浅析(以Arm 程序中的printf()函数实现为例) .