Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Сборник задач для C++ Добрый вечер, друзья. Искал сборник задач по Си++, но нашёл только для Си. Сильно ли они отличаются и проблемно ли переделывать их на плюсы? Проходил паскаль, но мне сказали, что он не очень в наше время. Помогите, пожалуйста, с поиском! https://www.cyberforum.ru/ cpp-beginners/ thread1842484.html C++ Составить программу, которая находит сумму элементов вещественного массива, расположенных правее последнего
Составить программу, которая находит сумму элементов вещественного массива, расположенных правее последнего отрицательного элемента (использовать динамические массивы). #include "stdafx.h" #include <iostream> #include <ctime> #include "math.h"
C++ Одномерный массив. Вывести его элементы сначала с четными, потом нечетными номерами https://www.cyberforum.ru/ cpp-beginners/ thread1842469.html
Дан целочисленный массив A размера N.переписать в новый массив В того же размера вначале все элементы исходного массива с четными номерами,а затем-с нечетными:А2,А4,А6,…А1,А3,А5,….условный оператор не использовать НА С++, помогите, пожалуйста!
C++ После чтения числа считывается пустая строка https://www.cyberforum.ru/ cpp-beginners/ thread1842435.html
Нужно считать ряд строк, что-то вроде такого вида: аааа бббб сссс и я попробовал реализовать это через fgets() #include<iostream> using namespace std;
C++ Строка. Дополнительно перегрузить операцию: -удалить элемент из строки из заданной позиции (типа set item)
Строка задаться в классе c именем String, и через перегруженный оператор + слаживается char str1 = { "Привет " }; char str2 = { "Пока" }; String strok; strok + str1; strok + str2; А как реализовать удаление ?
C++ Поменять местами элементы массива, разные по знаку, но одинаковые по модулю https://www.cyberforum.ru/ cpp-beginners/ thread1842413.html
Здравствуйте! Помогите, пожалуйста с программой. Программа: Дан массив с целыми числами. Нужно найти одинаковые по модулю, но разные по знаку элементы массива и поменять их местами. Программу написал. Работает. Но! Некорректно работает, если массив состоит из нечётного количества элементов. Прилагаются скриншоты корректной и некорректной работы. Никак не могу понять, в чём моя ошибка. ...
C++ Не получается освободить память https://www.cyberforum.ru/ cpp-beginners/ thread1842405.html
Всем привет. Написал функцию, которая перемещает все цифры в начало строки, но при попытке освободить память free(myString) получаю ошибку. Наверное, я неправильно освобождаю, но ни указатель myString, ни его копия s в функциях не меняют своего значения, т.е. до сих пор указывают на ту же ячейку памяти. Помогите, пожалуйста. #include "stdafx.h" #include "iostream" using namespace std;...
C++ Определить количество четных чисел на отрезке между максимальным и минимальным элементами массива
#include "stdafx.h" #include <iostream> #include <ctime> #include "math.h" /*Задан массив из N элементов. Написать программу, которая определяет количество четных чисел на отрезке, заключенным между максимальным и минимальным элементами массива. */ using namespace std; int main()
C++ Вычислить значение тригонометрического выражения (для решения использовать цикл do while) 1. Написать программу, которая реализует такой алгоритм. 1) Выводит на экран меню: 1. Ввод данных 2. Вычисление функции 3. Завершение https://www.cyberforum.ru/ cpp-beginners/ thread1842374.html C++ Вывести символ в заданное место экрана https://www.cyberforum.ru/ cpp-beginners/ thread1842373.html
Написать программу, которая циклически приглашает ввести три целых числа. Первое число указывает позицию символа по горизонтали, второе - позицию символа по вертикали, третье - код символа. Программа должна вывести символ с кодом, равным третьему числу, в место экрана, которое определяется первыми двумя числами. Завершить программу, если пользователь как первое число укажет значение 0.
Сформировать симметрическую положительно определенную матрицу C++
Нужно сформировать симметрическую положительно определенную матрицу порядка n
C++ Написать программу, которая вычисляет значение П при помощи бесконечного ряда (использовать цикл while) Написать программу, которая вычисляет значение П при помощи бесконечного ряда. Вывести таблицу, которая показывает значение П, аппроксимированое одним членом этого ряда, двумя членами и т.д. Продолжать обчисления, пока пользователь не нажмет кнопку ESC. https://www.cyberforum.ru/ cpp-beginners/ thread1842370.html
0 / 0 / 0
Регистрация: 07.08.2016
Сообщений: 105
0

Почему увеличение указателя на sizeof(тип) не тождественно инкременту этого же указателя? - C++ - Ответ 9727765

04.11.2016, 20:19. Показов 1998. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго дня.
Можете обьяснить ,почему при инкриментировании указателя,его значение(адресс) увеличивается на 4 (размер int в байтах),а при увеличении : y(указатель)+=sizeof(int) ,его значение(адресс) увеличивается не на 4 байта а на 16?
В учебнике написано что y(указатель)+=sizeof(int) должно быть эквивалентно y++ ,что и логично
пример программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <stdio.h>
#include <stdint.h>
 
using namespace std;
 
int main()
{
int w,*y=&w;
printf("pointer before : %d\n",y);
y++;
printf("pointer after : %d\n",y);
/* (y++)-y=4 байта(размер int) */
y--;
printf("pointer before : %d\n",y);
y+=sizeof(int);
printf("pointer after : %d\n",y);
/* (y+sizeof(int))-y=16 ???? ведь размер int=4 байта,и сдвиг должен произойти на 4 байта*/
return 0;
}
вывод:

pointer before : 2686728
pointer after : 2686732
pointer before : 2686728
pointer after : 2686744

Написанно и скомпелированно в IDE,CODE::BLOCKs
Компилятор:g++ follow the 1998 ISO C++ language standard

Вернуться к обсуждению:
Почему увеличение указателя на sizeof(тип) не тождественно инкременту этого же указателя? C++
0
Лучшие ответы (1)
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2016, 20:19
Готовые ответы и решения:

Создание указателя на экземпляр класса, описанного после объявления указателя
Здравствуйте! Проблема в том, что нужно сделать так: class A{ public: B* b = nullptr; }; ...

Как сделать функцию от указателя на класс и указателя на метод?
Не получается сделать функцию, параметрами которой являются указатель на класс и на метод....

Преобразование кода без указателя в код с использованием указателя
Правильно ли выполнил? Исходный код без указателя #include &lt;iostream&gt; #include &lt;cstdlib&gt;...

В чём отличие константного указателя и указателя на константу?
int *const p1 и int const* p2 Объясните мне в чём тут отличие.

4
04.11.2016, 20:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2016, 20:19
Помогаю со студенческими работами здесь

Возвращение неконстантного указателя из константного указателя на строку
Не могу до конца понять один момент. Допустим, у нас есть функция searchSymbol, которая принимает...

Инкрементальное увеличение значения указателя не работает
Сразу скажу, что практической цели никакой нет, просто пытаюсь понять принцип работы изменения...

Узнать тип значения, зная тип указателя
Здравствуйте! Есть такой код: template&lt;class Iter&gt; void func(Iter first, Iter last) { ...

Несовместимый тип указателя
Здравствуйте. Допустим, есть что-то вроде такого вот: void inputAnalys( const int* num, const...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru