powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с указателями...
5 сообщений из 5, страница 1 из 1
Помогите с указателями...
    #33524680
Фотография Viktor Bartel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,

Вот я тут пытался понять как все таки работают указатели, мне казалось что я это понимаю, но вот оказалось чот это не так. Берем простой пример в Visual Studio:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#include "stdafx.h"
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int *i, *j, stack;
	stack =  20 ;
	*j= 100 ;
	*i= 200 ;
	printf("Var is %d ",*i);
	cin >> *j;
	return  0 ;
}

Программа возвращает предупреждение об использовании неинициализированой переменной j, хотя вроде бы я и пытаюсь реализовать инициализацию. Т.е. как только программа доходит до *j=100; я получаю вышеописанное сообщение. Как можно это исправить?

Заранее вам спасибо
...
Рейтинг: 0 / 0
Помогите с указателями...
    #33524743
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*j=100;
означает: поместить по адресу j значение 100.
Но никто память для него не выделял и чему равно j программе неизвестно. Там лежит мусор (случайное содержимое). И в некоторое случайное место программа пытается поместить значение 100. Произойдёт access violation.
д.быть:
j=new int; *j=100;
...
Рейтинг: 0 / 0
Помогите с указателями...
    #33524967
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor Bartelхотя вроде бы я и пытаюсь реализовать инициализацию.

Покажи конкретное место в коде, где, как ты считаешь, ты это делаешь.

Чтобы исправить это, надо проинициализировать j.
...
Рейтинг: 0 / 0
Помогите с указателями...
    #33525257
saint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
#include "stdafx.h"
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int *i, *j, stack;
	stack =  20 ;

             j=&stack; i=&stack;

	*j= 100 ;
	*i= 200 ;
	printf("Var is %d ",*i);
	cin >> *j;
	return  0 ;
}
...
Рейтинг: 0 / 0
Помогите с указателями...
    #33525848
Фотография Viktor Bartel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо вам большое,

Я понял что сначала нада или при помощи переменой без указателя инициализировать мой j или с помощию конструкции new int.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с указателями...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]