初始化字符*

Initialize Char*

本文关键字:字符 初始化      更新时间:2023-10-16

我正在尝试使用动态内存分配声明一个字符*,然后用一串字符初始化它,但我不断收到此错误...

错误信息:

类型为"const char *"的值不能用于初始化类型为"int *"的实体

法典:

void main() {
char *alphabet = new char();
alphabet = "abcdefghijklmnopqrstuvwxyz";
cout << alphabet;
system("pause");
}


我明白这个

void main() {
char *alphabet = new char();
cin.getline(alphabet, 255);
cout << alphabet;
system("pause");    
}

将起作用,但我不明白为什么没有用户输入我无法初始化它;

你的问题不好。但我仍然给使用一个问题。您可以尝试如下:

#include<iostream>
using namespace std;
void showAlphabetArray(char*alp)
{
for(int i=0;i<26;i++)
{
cout<<alp[i];
}
}
int main() {
//declare and init `char` array
char *alphabet = new char[26];
//init value
for(int i=0;i<26;i++)
{
alphabet[i] = i + 97;
}
showAlphabetArray(alphabet);
system("pause");    
}

您应该参考 ASCII https://en.wikipedia.org/wiki/ASCII