开发者社区 问答 正文

C++ 指针与字符串的区别

#include "stdafx.h"
#include
#include
using namespace std;
int main()
{
char *str = "hi,guys!";//若将*str替换为str[]便成功,为什么呢?
strcpy_s(str,6,"aaaaa");
cout << str << endl;
system("PAUSE");
return 0;
}

展开
收起
a123456678 2016-03-05 10:37:16 2234 分享 版权
2 条回答
写回答
取消 提交回答
  • 软件开发,安全加密

    char *str;这代表声明一个字符串指针,默认值为空, 即nulll。
    需要先为它开辟内存空间才行;
    修改如下:
    char *str=new char[10];
    str="hi,guys!".

    2019-07-17 18:53:00
    赞同 展开评论
  • char *str;这代表声明一个字符串指针,默认值为空, 即nulll。
    需要先为它开辟内存空间才行;
    修改如下:
    char *str=new char[10];
    str="hi,guys!".
    而char str[]="hi,guys!";这是声明字符串的方法。

    2019-07-17 18:53:00
    赞同 展开评论