Инициализировать Char * - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь объявить символ *, используя динамическое распределение памяти, затем инициализировать его строкой символов, но я получаю эту ошибку ...

Сообщение об ошибке:

значение типа "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");    
}

будет работать, но я не понимаю, почему я не могу инициализировать его без ввода пользователя;

1 Ответ

0 голосов
/ 11 июня 2018

Ваш вопрос не очень хороший.Но я все же задаю вопрос.Вы можете попробовать, как показано ниже:

#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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...