Увеличьте указатель и дайте значение
Я хочу придать значение инкрементированному указателю.
Итак, у меня есть следующий код:
#include<iostream> using namespace std; int main() { int *ptr,number1=1; ptr=&number1; ptr++; *ptr=3; cout<<*ptr; }
Что я уже пробовал:
Я ожидаю, что результат будет 3, но вместо этого программа перестает работать и завершается. Что не так с моим кодом?
Philippe Mori
Этот код имеет неопределенное поведение. По сути, вы не должны разыменовывать указатель, который не указывает на выделенную память. Итак, чтобы ваш код работал number1
это должен быть массив, состоящий как минимум из 2 элементов (так как вы увеличиваете указатель один раз).