char型char数组赋值进行掉换


C++中的字符char数组赋值逐个赋值时报錯的解决方法

    C++中定义一个字符char数组赋值的时候如果初始化,则cout的时候不会出错,但是在逐个字符赋值的时候很容易出错。


如果我们逐个芓符的赋值:

原来是在逐个字符赋值的时候一定要记住最后来个s[len-1]='\0'; 这个是字符串的结束标志!!



C++字符char数组赋值赋值问题(1)

第一段代码没囿动态分配空间,可理解为空指针


1、定义的时候直接用字符串赋值

形如:“a[0] = “AAA”;”的赋值语句是错误的因为在C++中,无法通过给字符char数组賦值名赋值来实现给字符char数组赋值每一个元素赋值

正确的赋值方法应该是:

??输出结果为“AAA”。

  1. 更简单的方法就是使用strcpy函数

??输出結果为“AAA”

这种方式是定义了一个字符型指針指向常量字符串"abcde",可认为编译器做了下面的事情:在常量区分配6个字节分别放上a,bc,de,\0然后把a的地址返回给p。

这种方式是定義了一个字符char数组赋值其长度自动设置为"abcde"。

第一种指向了常量区无法修改内容。
第二种定义了普通的char数组赋值变量放在栈中,可以修改

我要回帖

更多关于 char数组赋值 的文章

 

随机推荐