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

Передача указателей в функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Виртуальные функции. Абстрактные классы. http://www.cyberforum.ru/cpp-beginners/thread95698.html
Есть у меня абстрактный класс class DataManager { protected: Configuration configuration; public: DataManager(Configuration config); virtual List<Buss> loadBuss() = 0; virtual List<Route> loadRoute() = 0; virtual List<Reys> loadReys() = 0;
C++ Описать процедуру, меняющую содержимое переменных X и Y вот тут решил разобраться с языком си, решал задачки и вот напоролся на такую: Описать процедуру Swap(X, Y), меняющую содержимое переменных X и Y. Собстна как сделать такую штуку? http://www.cyberforum.ru/cpp-beginners/thread95683.html
Ввод и вывод вектора C++
Такой вопрос. Программа должна вводить вектор из случайных чисел и выводить его на экран. При этом ввод и вывод нужно оформить в виде отдельных функций. Вопрос же в следующем: если я делаю это всё (ввод и вывод) в составе одной функции, то всё работает. Если же разделяю - то ничего не выводится. Помогите пожалуйста.
C++ c++ в кпк
Вобщем начну с самого начала. Захотел я изучит c++, до этого работал с php в wap, но так как комп згорел, а на новый щас дениг нет поставил я на кпк pocket gcc и немогу найти инфу по програмированию в с помощью этого компилятора. Где только не спарашивал, в ответ тищина. Надеюсь здесь мне помогут, если я всё правельно понял то это портированый с пк на кпк gcc.
C++ Метод секущих http://www.cyberforum.ru/cpp-beginners/thread95627.html
Помогите, пожалуйста, с кодом к этой программе. 1 Определить координаты экстремальной точки унимодальной функции f(x)=11x2+23x+1,1 методами первого и второго порядков (метод секущих), с точностью =0,001. 2 Определить тип найденного экстремума Поиск экстремума провести в диапазоне от a до b. а= - 1100; в=1100.
C++ Сформировать одномерный массив из элементов матрицы Есть двумерный массив, 5*6 Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца. подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.02.2010, 05:44     Передача указателей в функции
операция разыменования скрыта в операции ->
pv->name подобна (*pv).name
различия

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
 
int main(void) /* C89 ANSI */
{
    struct x {
        struct x *p;
        int n;
    } s, a, b, c;
    
    c.n = 5;
    
    s.p = &a;
    a.p = &b;
    b.p = &c;
    
    printf("%d" "\n", s.p->p->p->n);
    
    printf("%d" "\n", (*(*(*s.p).p).p).n);
 
    exit(EXIT_SUCCESS);
}


Цитата Сообщение от _Eldar_
список правил передачи указателей в функции и обращения к ним в функциях
вообще ничем не отличаются указатели в функциях и указатели сами по себе
указатель - это обычная переменная

C
1
int write_dbase(char* filename, Order* pv)
при вызове функции write_dbase создаются две локальные переменные
filename и pv
они уничтожаются после завершения функции и их содержимое тоже
содержимое каждой является адресом

C
1
    write_dbase(f, p);
в f и p находятся какие-то адресы
вызов write_dbase() создаёт filename и pv
в filename он копирует содержимое переменной f
в pv он копирует содержимое переменной p

понятно, что адрес нельзя удалить
его можно записать в нескольких местах
это будут записи адреса, его копии
и вот копии можно удалить
 
Текущее время: 21:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru