2015-07-22 1 views
-4

Я студент средней школы в настоящее время обучение C++. Так что при этом указатели я наткнулся на проблему,показывает ошибку, если переменная указателя отображается изменяется

first pointer programme

Когда я пытаюсь отобразить значение в точке у, она показывает: Terminal window

величина х отображается правильно, но после того, как я пишу * у как * (х + 1), то он работает отлично

enter image description here

Может ли один пожалуйста, объясните, почему я получаю ошибку сегментации?

Несмотря на то, что показывают скриншоты, весь код составлен отлично.

+2

Пожалуйста, измените фотографии на фактический текст. ** И нет необходимости печатать все, что выделено жирным шрифтом **. –

ответ

2

y указывает на нераспределенную память, поэтому разыменование является неопределенным поведением. Вам нужно указать его на какую-то действительную память, либо путем ее динамического распределения, либо с помощью адреса допустимой переменной, как и с x.

1

Вы установили y в x+1. x+1 не указывает на объект.

Затем вы пытаетесь записать данные через y. Это не сработает.

Это не совсем понятно, что вы пытаетесь выполнить с помощью этого кода, поэтому я не могу предложить средство.

Смежные вопросы