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

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

Войти
Регистрация
Восстановить пароль
 
КенТюРиК
11 / 11 / 1
Регистрация: 18.10.2012
Сообщений: 148
#1

Работа над ошибками,пару элементарных заданий - C++

15.03.2013, 02:18. Просмотров 260. Ответов 2
Метки нет (Все метки)

Дополните пожалуйста,где это нужно.


1)
Классы памяти.

auto — автоматическая (локальная), динамическая переменная. Автоматические переменные создаются при входе в функцию и уничтожаются при выходе из неё. Они видны только внутри функции или блока, в которых определены. Этот класс памяти используется, если не указан ни один из четырёх модификаторов, и в C++0x значение слова auto изменили.
static — статическая переменная (локальная). Статические переменные имеют такую же область действия, как автоматические, но они не исчезают, когда содержащая их функция закончит свою работу. Компилятор хранит их значения от одного вызова функции до другого.
extern — внешняя (глобальная) переменная. Внешние переменные доступны везде, где описаны, а не только там, где определены. Включение ключевого слова extern позволяет функции использовать внешнюю переменную, даже если она определяется позже в этом или другом файле.
register — регистровая переменная (локальная). Это слово является всего лишь «пожеланием» компилятору помещать частоиспользуемую переменную в регистры процессора для ускорения программы.

2)Спецификация обьявлиние переменно типа указатель. Операция над указателем.

C++
1
2
3
4
5
6
7
int  n  = 6;    // Объявление переменной n типа int и присваивание ей значения 6
int *pn = malloc( sizeof ( int ) ); // Объявления указателя pn и выделение под него памяти.
    *pn = 5;    // Разыменование указателя и присваивание значения 5.
     n = *pn;   // Присвоить n то значение (5), на которое указывает pn.
     free(pn);  // Освободить занятую память.
     pn = &n;   // Присваивает указателю pn адрес переменной n(указатель будет ссылаться на n).
     n = 7;     // *pn тоже стало равно 7
3)Пример использования структур и указателей.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio.h>
using namespace std;
    
struct part
{char nazvanie [20];
};
void input_part(part *b)
    
{
    cout<<"Nazvanie";
    gets(b->nazvanie);
}
int main()
{
    part a,*pa=&a;
    input_part(pa);
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2013, 02:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа над ошибками,пару элементарных заданий (C++):

Работа над ошибками - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { double a,b,c; bool x; cout &lt;&lt;...

задача С++ масивы работа над ошибками - C++
#include &lt;vector&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;numeric&gt; #include &lt;stdlib.h&gt; inline bool IsZero(int in) ...

Создание и использование классов.Работа над ошибками - C++
Задали сделать програмку. Вроде бы ничего сложного. Но выбивает ошибки( 1. Дано действительное число a и целое n. Вычислить сумму ...

Результат работы над ошибками по поводу глобальных переменных на с++ - C++
Данная статья выйдет в топ. По теме как делать глобальные переменные. Так как имею опыт в написание статей под нужды людей. Хочу...

Лабораторная работа 11 заданий прошу - C++
1. Заполнить массив: а) двадцатью первыми натуральными числами, делящимися нацело на 13 или на 17 и большими 300; б) тридцатью первыми...

Создайте функцию, которая пару последовательных чисел Фибоначчи преобразует в следующую пару - C++
Создайте функцию, которая пару последовательных чисел Фибоначчи преобразует в следующую пару. Например, исходные данные: 1,2; результат:3,5

2
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.03.2013, 03:32 #2
Цитата Сообщение от КенТюРиК Посмотреть сообщение
int *pn = malloc( sizeof ( int ) ); // Объявления указателя pn и выделение под него памяти.
В С++:
C++
1
int *pn = (int*)malloc( sizeof ( int ) );
1
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.03.2013, 07:34 #3
Цитата Сообщение от КенТюРиК Посмотреть сообщение
register — регистровая переменная (локальная). Это слово является всего лишь «пожеланием» компилятору помещать частоиспользуемую переменную в регистры процессора для ускорения программы.
Нет, не так. Это прямой приказ не оптимизирующему компилятору хранить переменную так, чтом минимизировать доступ к ней, предположительно в части регистра, целом регистре, или нескольких регистрах. Но это может быть и размещение в кеше и даже размещение оперативе но при максимально длительном хранении актуальной копии в регистре и максимально редким сохранением в память, так как регистров на все такие переменные может просто нехватать. Если компилятор оптимизирующий, то это ручная подсказка ему и пожелание оптимизировать аналогичным образом.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 07:34
Привет! Вот еще темы с ответами:

Работа над векторами! - C++
Даны вещественные числа a1, a2, ... an. Поменять местами наибольший и наименьший элементы. Помогите пожалуйста!

Работа над массивом с 10 элементами - C++
Есть задание: В массиве с 10 целыми числами сделать: количество четных и нечетных чисел; максимальный/минимальный элемент; ...

Работа над множествами,STL - C++
Собственно есть задача: Дан некий текст.Нужно в алфавитном порядке напечатать все гласные буквы входящие в этот текст более двух раз и...

Работа над переменной в программе и подпрограмме - C++
Доброго времени суток. Возник вопрос во время выполнения курсовой. В программе имеется переменная (flag), которая показывает...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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