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

Присвоение в условии цикла while - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти средний рост учащихся класса (Pascal -> С++) http://www.cyberforum.ru/cpp-beginners/thread1220547.html
const nmax=20; var a:array of real; i,n:integer; s:real; begin repeat write('Кол-ство учащихся класса n='); readln(n); until n in ; for i:=1 to n do
C++ Не понятное поведение SDL_RenderCopy Здравствуйте! Возникла проблема при передаче указателя в SDL_RenderCopy, SDL_RenderCopy возвращает ошибку -1 и пишет Invalid Texture. Я реализовал простой класс, для приёма Surface и передаче его в... http://www.cyberforum.ru/cpp-beginners/thread1220527.html
Палиндром, блок-схема и алгоритм решения C++
Вот готовая, рабочая задача: #include <iostream> using namespace std; int main() { int d,n=0; cin >> d; int m=d; while(m) {
C++ Лабораторная работа "Графики и функции"
Кто знает где достать исходник и описание? Помогите пожалуйста.
C++ Вычислить значение дроби для заданном значении n http://www.cyberforum.ru/cpp-beginners/thread1220508.html
Задача: Вычислить значение дроби для заданном значении n. Вот задача, сделанная мной, но она не верна: #include <iostream> using namespace std; int main() { double n; cin>>n; double...
C++ Написать программу которая читает из командной строки два аргумента: имя переменной и значение этой переменой Написать программу которая читает из командной строки два аргумента : имя переменной и значение этой переменой. Если переменная не может быть установлена , вывести ошибку если ошибки небыло вывести... подробнее

Показать сообщение отдельно
gru74ik
Эксперт CЭксперт С++
4207 / 1853 / 198
Регистрация: 20.02.2013
Сообщений: 4,992
Записей в блоге: 22
03.08.2014, 17:07
И вот ещё из той же книги про указатели и массивы:
Кликните здесь для просмотра всего текста

Цитата Сообщение от Стивен Прата
Родство указателей и имен массивов происходит из арифметики указателей, а также
того, как язык C++ внутренне работает с массивами. Сначала рассмотрим арифметику
указателей. Добавление единицы к целочисленной переменной увеличивает ее
значение на единицу, но добавление единицы к переменной типа указателя увеличивает ее
значение на количество байт, составляющих размер типа, на который она указывает.
Добавление единицы к указателю на double добавляет 8 байт к числовой величине
указателя на системах с 8-байтным double, в то время как добавление единицы к
указателю на short добавляет к его значению 2 байта. Код в листинге 4.19 доказывает
истинность этого утверждения. Он также демонстрирует еще один важный момент:
C++ интерпретирует имена массивов как адреса.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Листинг 4.19. addpntrs.cpp -- pointer addition
#include <iostream>
int main()
{
    using namespace std;
    double wages[3] = {10000.0, 20000.0, 30000.0};
    short stacks[3] = {3, 2, 1};
 
// Here are two ways to get the address of an array
    double * pw = wages;     // name of an array = address
    short * ps = &stacks[0]; // or use address operator
// with array element
    cout << "pw = " << pw << ", *pw = " << *pw << endl;
    pw = pw + 1;
    cout << "add 1 to the pw pointer:\n";
    cout << "pw = " << pw << ", *pw = " << *pw << "\n\n";
 
    cout << "ps = " << ps << ", *ps = " << *ps << endl;
    ps = ps + 1;
    cout << "add 1 to the ps pointer:\n";
    cout << "ps = " << ps << ", *ps = " << *ps << "\n\n";
 
    cout << "access two elements with array notation\n";
    cout << "stacks[0] = " << stacks[0] 
         << ", stacks[1] = " << stacks[1] << endl;
    cout << "access two elements with pointer notation\n";
    cout << "*stacks = " << *stacks
         << ", *(stacks + 1) =  " << *(stacks + 1) << endl;
 
    cout << sizeof(wages) << " = size of wages array\n";
    cout << sizeof(pw) << " = size of pw pointer\n";
    // cin.get();
    return 0; 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.