我试图使用动态内存分配声明char *然后用一串字符初始化它,但我一直收到这个错误......
错误讯息:
类型" 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");
}
会有效,但我不明白为什么我无法在没有用户输入的情况下对其进行初始化;
答案 0 :(得分:0)
你的问题不好。但我仍然提出一个问题。你可以尝试如下:
#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