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

Передача char в функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу на Форматированный ввод/вывод в текстовые файлы. Динамические массивы http://www.cyberforum.ru/cpp-beginners/thread1158665.html
Файл f1 содержит: число чисел, записанных в файл; • далее - последовательность №1 целых положительных чисел в 16-й системе счисления. Последовательность №1 считать из файла и записать в...
C++ По условию, заново выполнение программы? Как сделать, выполнение небольшого кода заново, если условие выполнилось и присвоением нового значение какого либо переменной? http://www.cyberforum.ru/cpp-beginners/thread1158611.html
C++ Мин-макс в списке
не получается найти минимальный и максимальный элементы в списке: struct Node {int d,a; int value; Node *next; //указатель на следующий элемент списка Node *prev; };
Динамическая память и конструктор класса C++
Подскажите, почему Marshroute *objects2 = new Marshroute(for_loop); компилятор ругается на (for_loop), если я хочу запустить конструктор не по умолчанию.
C++ Освобождение памяти http://www.cyberforum.ru/cpp-beginners/thread1158457.html
Маленький вопросик, как правильно освобождать память выделенную под vector<...>, деструктором ~vector() или методом clear() ?
C++ Map stl c++ ссылка на неразрешенный внешний символ Уважаемые форумчане, столкнулся с проблемой вставки объекта класса как параметр в контейнер map. Привожу ниже код как пытался сделать. Компилятор использую visual studio 2012. При построении проекта... подробнее

Показать сообщение отдельно
Rioter
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 19
27.04.2014, 23:38
Добавлено через 4 минуты
C++
1
2
3
4
5
6
    void send_new_object(char *g, char *h, int j)
    {
        char name_nach_punkta = *g;
        char name_kon_punkta = *h;
        nomer_marshrouta = j;
    }
Здесь вы пытаетесь присвоить char name_nach_punkta содержимое первого элемента из указателя g и так же с char name_kon_punkta = *h;

Добавлено через 5 минут
Как же объяснить.... Когда вы пишите название массива ( massive_name ), программа воспринимает его как адрес первого элемента массива в оперативной памяти, а когда рядом указываете номер элемента( massive_name[number_of_element] ) переходит относительно этого адреса на number_of_element шагов.

Добавлено через 3 минуты
следовательно, принимающая ф-ция должна записать в указатель адрес первого элемента массива и относительно этого указателя вызывать элементы(как я описал в своем примере кусков кода). Извините если где-то ошибся, но вроде все правильно.

Добавлено через 8 минут
Вот полный рабочий пример написал.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
void func(char * mass, int n){
    for(int i=0;i<n;i++){
        cout<<mass[i];
    }
}
 
int main(){
    char massive[64]="Example";
    func(massive,64);
    system("pause");
    return 0;
}
Добавлено через 2 минуты
А вот если надо передать один конкретный знак:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
using namespace std;
 
void func(char char1){
    cout<<char1;
}
 
int main(){
    char massive[64]="Example";
    func(massive[0]);
    system("pause");
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru