如何给char*赋值?

时间:2024-11-12 14:40:41

c语言是个很麻烦的东西,直接使用

char* tmp = "hello";

是错误的,因为"hello"是个常量字符串。
可以使用以下方法进行赋值:

#include<iostream>
using namespace std;

int main() {
    char* tmp1;
    char tmp2[12] = "hello,word!";   //这里的12指的是11(字符数)+1(结束符)
    tmp1 = tmp2;
    cout << tmp1;
}

解释一下上面代码,有c++基础的应该知道tmp2其实是一个指针,它的类型也是char*,指针的内容是地址,这里只不过是让tmp1指针的内容和tmp2指针的内容一样都指向了字符串 “hello,word!”。