Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Евгений256
0 / 0 / 0
Регистрация: 21.07.2013
Сообщений: 4
#1

char[] - C++

21.07.2013, 11:32. Просмотров 329. Ответов 3
Метки нет (Все метки)

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
 
using namespace std;
#define N 4
#define S 2
 
int main()
{
    int rate;
    int s=0;
 int massiv[N][S];
 char *massiv2[N+2]{"\0","\0","двоек\0","троек\0","четвёрок\0","пятёрок\0"};
 
 for(int i=0;i<N;i++)
 {
  cin>>massiv[i][0];
  cin>>massiv[i][S-1];
 }
 
 for(int i=0;i<N;i++)
 s+=massiv[i][S-1];
 
 cout<<"Rezultati ekzamena:\n";
 cout<<"---------------------\n";
 for(int i=0;i<N;i++)
 {
 rate=((float)massiv[i][S-1]/s)*100;
  cout<<massiv2[massiv[i][0]]<<"\t";
 cout<<massiv[i][S-1]<<"\t";
 cout<<rate<<"%"<<endl;;
 }
 
    return 0;
}


Решал очередную задачку и обнаружил, что при инициализации массива char[6] шестью элементами у меня вылетает ошибка: too many initializers for char [6]. Но если инициализировать массив указателей, то всё отлично работает.
Почему так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2013, 11:32     char[]
Посмотрите здесь:

Различное поведение функции которая копирует строки с char* t и char t[] - C++
столкнулся с ситуацией которую не могу объяснить пишем функцию которая копирует одну строку в другую: void strstr(char* t,...

функция возвращает массив слов, содержащихся в текстовом сообщении char* Words(char *s) - C++
Стоит такая задача: функция должна возвратить массив слов, содержащихся в текстовом сообщении char* Words(char *s) Как это можно...

Передача в функцию char*([Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]) - C++
Почему компилятор на это матерится? ObjA.Show(&quot;A&quot;); deprecated conversion from string constant to 'char*' #include &lt;iostream&gt; ...

Строка: чем отличается строки string, char, char*? - C++
Помогите разобраться,совсем плохо идёт,чем отличается строки string,char,char* И если можно пару примеров Буду весьма признательна

[Ошибка] invalid conversion from 'const char*' to 'char*' [-fpermissive] - C++
Решал задачи сам по себе, наткнулся на очень интересную. Вот сама задача: Вы оператор пуска ракет на ядерном подводном ...

Что означает такая запись char *smt=new char[1]? - C++
что означает такая запись char *smt=new char?

Работа со строками - Invalid conversion from 'char' to 'const char*' - C++
#include &lt;iostream&gt; #include &lt;ctype.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; void poisk(int n, char...

Поворот массива на 90 градусов (cannot convert form char to char*) - C++
Пытаюсь повернуть массив на 90 градусов. Понимаю что проблема в преобразовании данных, но не знаю как исправить( Может кто подсказать...

Std::fstream почему функция write принимает параметр char* а не unsigned char* (аля byte*) ? - C++
Ну собственно сабж... std::fstream fs; fs.write((char*)..) В случае бинарного потока я допустим пишу байты функцией write, как...

Невозможно преобразовать параметр 1 из 'char' в 'const char *' - C++
Дана задача: Задана последовательность, состоящая только из символов ‘&gt;’, ‘&lt;’ и ‘-‘. Требуется найти количество стрел, которые спрятаны...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
21.07.2013, 11:41     char[] #2
Ну, да... char[6] — массив из шести символов, (char*)[6] — массив из шести указателей на символ (читай: строк). 'x' — символ. "foo" — строка.

Влезет ли строка "строка" в массив из шести семи char — зависит от реализации.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
21.07.2013, 11:50     char[] #3
Проблема в том что ты = в 12-й строке забыл.
OhMyGodSoLong, он объявил массив указателей на char, т.ч. все правильно. Осталось только const в начале добавить.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.07.2013, 11:52     char[] #4
lazybiz, ТС не про то спросил. Как он это делал:
Цитата Сообщение от Евгений256 Посмотреть сообщение
при инициализации массива char[6] шестью элементами у меня вылетает ошибка:
в коде нет.
А вот это в коде есть:
Цитата Сообщение от Евгений256 Посмотреть сообщение
Но если инициализировать массив указателей, то всё отлично работает.
Yandex
Объявления
21.07.2013, 11:52     char[]
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru