5s改善前后对比:c语言中,给字符数组(字符串)赋值问题?
来源:百度文库 编辑:中财网 时间:2024/05/08 12:08:28
char a[5]= "1234 ";//这样可以
a= "abcd "; //这样出错,在程序中该如何改变a的内容呢?
-------------------------------------
谢谢作答!
wsprintf(a, "abcd ") ;
char * p = "abcd ";
strcpy(a,p);
奉劝老兄还是先看看基本的书本再来编程
但教材上说以我说的方式也可以,特别是定义一个struct的字符数组元素时?
因为初学,想把这个问题搞清楚。在c++中有string类型,当然不用考虑这个问题。
a= "abcd ";
这样附值不行,a[5]是已经分配空间的,而“abcd”是一个常量字符串,他的地址是固定的,所以不能用a= "abcd "这样给a附值,单象下面这样可以:
char* p= "abcd ";
意思就是将常量字符串的地址付给一个字符指针。
实践出真知!
你可以作如下试验:
char* a= "abcd ";
char* b= "abcd ";
这样a和b的值是一样的。
字符串其实就是一块连续的内存的地址,在实用其数组或者是指针都是可以访问启迪一个指针就可以了!(数组其实也是指针的一种,不过...)
所以了在变量重视部可以用你这种方法!不过,在我看的书上没看过你这种表达式!
不过,如果是:单个的字符就可以用其字符变量来赋值!!!
a= "abcd "; //这样出错,在程序中该如何改变a的内容呢?
这样当然会出错了,因为a 是地址常量,常量怎么能给它赋值呢?
跟编译环境没什么关系,你说教材上说可以那样,那么那本教材可以撇掉了
a= "abcd "; //这样出错,在程序中该如何改变a的内容呢?
-------------------------------------
谢谢作答!
- rtdb
- (东临碣石)
- 等 级:
wsprintf(a, "abcd ") ;
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
- net_steven
- (素狼(W))
- 等 级:
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
- isdong
- (有些事情应该忘记)
- 等 级:
char * p = "abcd ";
strcpy(a,p);
奉劝老兄还是先看看基本的书本再来编程
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
- net_steven
- (素狼(W))
- 等 级:
但教材上说以我说的方式也可以,特别是定义一个struct的字符数组元素时?
因为初学,想把这个问题搞清楚。在c++中有string类型,当然不用考虑这个问题。
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
- rujor
- (rujor)
- 等 级:
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
- GZCompiler
- (编译器)
- 等 级:
a= "abcd ";
这样附值不行,a[5]是已经分配空间的,而“abcd”是一个常量字符串,他的地址是固定的,所以不能用a= "abcd "这样给a附值,单象下面这样可以:
char* p= "abcd ";
意思就是将常量字符串的地址付给一个字符指针。
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
- GZCompiler
- (编译器)
- 等 级:
实践出真知!
你可以作如下试验:
char* a= "abcd ";
char* b= "abcd ";
这样a和b的值是一样的。
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
- kingcom_xu
- (冷羽)
- 等 级:
2
2
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
- anlyer
- (深雨男孩)
- 等 级:
字符串其实就是一块连续的内存的地址,在实用其数组或者是指针都是可以访问启迪一个指针就可以了!(数组其实也是指针的一种,不过...)
所以了在变量重视部可以用你这种方法!不过,在我看的书上没看过你这种表达式!
不过,如果是:单个的字符就可以用其字符变量来赋值!!!
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
- net_steven
- (素狼(W))
- 等 级:
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
- hhuangchunlin
- (林之韵)
- 等 级:
a= "abcd "; //这样出错,在程序中该如何改变a的内容呢?
这样当然会出错了,因为a 是地址常量,常量怎么能给它赋值呢?
跟编译环境没什么关系,你说教材上说可以那样,那么那本教材可以撇掉了
C语言字符数组赋值问题?
字符串给数组赋值
C语言的字符与字符串数组,我混乱了!
二维字符串数组赋值的问题
在C中怎么给二维数组赋值
C语言编程:如何给任意长度的字符串a赋值?(只用C语言语法)
C语言中什么是“字符”、“字符串”?有什么区别?
c#字符数组转字符串的问题
字符串和字符混合数组的问题?
数组问题(C语言)
c语言中数组的问题
c语言中数组的问题
c语言中数组的问题
C语言中关于数组的问题。
C语言中字符串的输入问题?
初学者,指针给数组赋值问题
关于vfp6中数组赋值的问题
关于 C 语言的字符指针数组
c语言数组问题
C语言数组问题
C语言:编写程序从键盘上输入一个字符串和一个字符,实现从字符串中删除该字符。
c语言中指针赋值的问题,在线等!
字符数组,字符串,c-string,有什么区别?
C语言字符串问题