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

Возвращаемое значение функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод слов из строки http://www.cyberforum.ru/cpp-beginners/thread651230.html
Суть задачи: Дан текст, состоящий из N (2<=N<=10) строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке те слова, длина которых не превышает K символов....
C++ Вывести на экран координаты точки, наиболее удаленной от начала координат 2. С помощью ГСЧ задать матрицу А(5,2), содержащую координаты точек на плоскости. Вывести ее на экран в прямоугольном виде. Вывести на экран координаты точки, наиболее удаленной от начала координат.... http://www.cyberforum.ru/cpp-beginners/thread651228.html
C++ поиск длины пути
Всем доброго утра Ребята подскажите пожалуйста алгоритм дана матрица расстояний n*n, в ячейках расположены расстояний между i и j объектами нужно сформировать массив который будет хранить сумму...
Размеры переменных C++
Здравствуйте! Простите за такой вопрос, но я до сих не понял что такое размер переменной. Объясните пожалуйста что такое размер(ширина) переменной ? Например: размер int-а (в зависимости от...
C++ Найти координаты четвертой вершины квадрата http://www.cyberforum.ru/cpp-beginners/thread651209.html
1. На плоскости заданы координаты трех вершин квадрата АВСД - вершин А, В и С. Найти координаты четвертой вершины
C++ Цикличные алгоритмы Помогите решить!!! )))) я на вас надеюсь. от этого зависит моя судьба))) Вычислить сумму ряда с погрешностью ε=0,0001 для заданного x. Сравните результаты с точным значением функции, для которого... подробнее

Показать сообщение отдельно
kotleta
42 / 42 / 11
Регистрация: 13.09.2012
Сообщений: 196

Возвращаемое значение функции - C++

13.09.2012, 09:07. Просмотров 845. Ответов 8
Метки (Все метки)

Здравствуйте
Я тут новенький. Очень трудно у вас проходить регистрацию.

У меня вопрос по С++
Компилятор: Code Blocks

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string.h>
 
using namespace std;
 
int* func() // функция возвращает адрес
{
    int a=347893;
    return &a;
}
 
int main()
{
 // cout << *func();   выведет 347893
 int *p;
 p = func();
 cout << *p; // Почему выводит 347893
 
 return 0;
}
В этом примере есть расхождение между тем, что я знаю (скорее всего я знаю неправильно ), и тем, что выдается на экран.

В функции создается переменная int a, ей присваивается значение. Функция возвращает адрес этой переменной. Дальше происходит выход из блока функции, и локальная переменная int a стирается(?)

В теле main я создаю переменную-указатель p и ей присваиваю то, что вернула функция, т.е. адрес переменной а, но если переменная а по завершению работы функции уничтожилась, и по-хорошему разыменование указателя выдаст какую-нибудь хрень, то почему выводится значение 347893?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru