С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/56: Рейтинг темы: голосов - 56, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 53

Что значит char c[10]

16.11.2012, 02:40. Показов 11721. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
объясните пожалуйста пошагово этот код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main( )
{
   char c[10], c2;
 
   cout << "Type 'abc': ";
   c2 = cin.get( );
   cin.unget( );
   cin.getline( &c[0], 9 );
   cout << c << endl;
}
хочу понять, что значит char c[10] это создание массива из 10 символов?
что делает функция get и unget, и getline... что это за параметры, &c[0] передается по ссылке... а нельзя просто передать, зачем по ссылке передавать? и что девять означает. эх, вот начинаю C++ изучать. конечно непривычно весьма.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2012, 02:40
Ответы с готовыми решениями:

что значит static char?
подскажите что означает static char ret;

Что значит две звездочки у char?
int main(int argc, char** argv)

Что значит запись char massiv[] = "text" ?
Почему не указан размер массива и присваивается строка?

30
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 53
18.11.2012, 21:04  [ТС]
Студворк — интернет-сервис помощи студентам
Ну конечно меняет.

Добавлено через 10 минут
А вот в этом примере

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include  <iostream >
using namespace std;
 
int string_length(char *string) {
    int length = 0;
 
    while (*string != '\0') {
       length++;
       string++;
    }
 
    return(length);
}
 
 
int main () {
    char title[] = "Учимся программировать на языке C++";
    cout  << string_length(title) << " symb";
 
    return 0;
}
получается мы передали в функцию сразу всю строку целиком (весь массив) по значению? а уже в функции создается указатель на первый символ, так?

пожалуйста, можете все варианты перечислить как можно передать эту строку в функцию: по значению, по ссылке, все варианты.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
18.11.2012, 21:07
Цитата Сообщение от time123 Посмотреть сообщение
получается мы передали в функцию сразу всю строку целиком по значению? но уже в функции создается указатель на первый символ, так?
Так. Создается копия переданного указателя, с ней мы и работаем.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
18.11.2012, 21:07
нет, тут мы передаём указатель на первый элемент. Собственно так массивы в функцию и передаются.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
18.11.2012, 21:11
Цитата Сообщение от time123 Посмотреть сообщение
(весь массив) по значению?
забудьте про "по значению".
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 53
19.11.2012, 03:10  [ТС]
хм... а получается при вызове функции указывается только так string_length(title) или можно вызвать к примеру так string_length(*title) или так string_length(&title) (я не про этот пример а вообще), так тоже делается да?
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
19.11.2012, 03:14
Цитата Сообщение от time123 Посмотреть сообщение
хм... а получается при вызове функции указывается только так string_length(title) или можно вызвать к примеру так string_length(*title) или так string_length(&title) (я не про этот пример а вообще), так тоже делается да?
Все зависит от целей, которые Вы преследуете.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
19.11.2012, 03:19
Цитата Сообщение от time123 Посмотреть сообщение
string_length(title) или можно вызвать к примеру так string_length(*title)
ты вообще знаешь разницу между title и *title?
Cкажи, а то я подозреваю, что ты думаешь, что знаешь, но это не так.
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 53
20.11.2012, 00:20  [ТС]
знаю, *title это будет разыменование указателя, то есть обращение к значению переменной, на которую он указывает... в общем проехали.

Добавлено через 16 минут
забудьте про "по значению".
ну вот зачем вы так? читаю

http://www.codenet.ru/progr/cp... -Throw.php

В случае, если "кидаются" данные нестандартного типа (экземпляры определенных вами классов, структур и т.д.), лучше "ловить" их по ссылке, иначе вся "кидаемая" переменная будет скопирована в стек вместо того, чтобы просто передать указатель на нее.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
20.11.2012, 00:22
Цитата Сообщение от time123 Посмотреть сообщение
ну вот зачем вы так? читаю
а что такое ссылка?
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 53
20.11.2012, 18:36  [ТС]
ну это альтернативное имя для переменной. я к тому что можно ведь так указать

то есть в таком случае

catch(string text) { }

видимо будет скопирована строка...
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
20.11.2012, 18:57
Цитата Сообщение от time123 Посмотреть сообщение
catch(string text) { }
в таком случае будет создана новая строка на основе переданной.

И еще раз говорю, забудьте слова "по значению" и "по ссылке", C++ это не delphi и не Visual Basic
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.11.2012, 18:57
Помогаю со студенческими работами здесь

Строки: почему компилятор пишет , что переменная типа char несовместима с const char?
char pass; int password( int d) { int m; char p; cout &lt;&lt; &quot;Введите пароль для доступа к информации:&quot;; cin &gt;&gt; p; ...

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

Sleep(8000) - что значит? На что можно заменить в борланд с++?
Не распознаёт Sleep(8000) . Если за комментировать пишет что f заданно но не используется. Как исправить? ...

Что значит Handle hf? Что в эту функцию нужно передавать
мне нужно создать функцию Node * ReadNode(HANDLE hf); (Node это структура) Так вот вопрос в том что значит Handle hf? Что в эту функцию...

Что значит ^= ?
нашел в коде данную фичу (язык С) не понимаю что конкретно она выполняет пример из кода ... mistake ^= i+1; ...


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru