Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
maxht
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
#1

помогите проблема указатели и windows x64. - C++

11.03.2012, 16:49. Просмотров 1550. Ответов 29
Метки нет (Все метки)

дебагер ошибок не пишет компилируется)...на другом компьютере .ехе запускается где ХРх86...у меня нет вот пишет такую ошибку ...не могу понять что это...запустил под админом...
Миниатюры
помогите проблема указатели и windows x64.  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2012, 16:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос помогите проблема указатели и windows x64. (C++):

Где взять и как подцепить к Code Blocks бесплатный компилятор x64 стандарта C++11 для Windows 7 x64? - C++
Где взять и как подцепить к Code Blocks бесплатный компилятор x64 стандарта C++11 для Windows 7 x64?

Указатели и ссылки. Помогите разобраться с синтаксисом - C++
Всем добрый вечер. Знаю, что тема поднималась не раз, много здесь уже таких нашел и перечитал, но ни как че та до меня не дойдет. В трех...

Помогите переделать работу с массивом через указатели - C++
помогите оформить через указатели...понимаю,что элементарно....но я трамвай for(j=k; j<=N; j++) { ...

Указатели и массивы. Внедрение функции в прогу. C++. Пожалуйста, помогите. - C++
Условие задачи: /* Calculate the length of a string */ #include <stdio.h> #define MAXLINE 30 // String lenght...

Компиляция под Windows x64 - C++
Здравствуйте есть 2 компьютера на 1 стоит х32 на котором компилируется программа а на другом х64 винда на котором нужно программу...

Определение характеристик компьютера (windows 8 x64) - C++
Здравствуйте, нужно узнать определенные характеристики компьютера(программно): конфигурация(наличие дисководов, принтеров, порты...),...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
maxht
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 18:09  [ТС] #16
Цитата Сообщение от Kastaneda Посмотреть сообщение

Не по теме:


Немного не так, в х32 - 32 бита, в х64 - 64 бита. Байт не всегда 8 бит.

у меня на int 4кбайта...
Duha666
51 / 51 / 5
Регистрация: 10.03.2012
Сообщений: 138
11.03.2012, 18:11 #17
Цитата Сообщение от maxht Посмотреть сообщение
у меня на int 4кбайта...
Ошибаетесь. В любой x64 системе, указатель - 64 бита, в x32 - 32 бита.
maxht
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 18:17  [ТС] #18
sizeof(int);==4
Duha666
51 / 51 / 5
Регистрация: 10.03.2012
Сообщений: 138
11.03.2012, 18:21 #19
Во-первых 4 байта, а не кбайта. Во вторых, это размер типа int, а не указателя. И указатель вообще не зависит от типа.
maxht
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 18:31  [ТС] #20
не я был не прав не работает!!!!!...после /pc *p_p=new pc;/ память под /p_p/ выделялась а вот при вызове/p_p.zip1/ ошибка
Duha666
51 / 51 / 5
Регистрация: 10.03.2012
Сообщений: 138
11.03.2012, 18:33 #21
1. В студию ошибки
2. Может надо (*p_p).zip1?
maxht
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 18:36  [ТС] #22
Цитата Сообщение от Duha666 Посмотреть сообщение
1. В студию ошибки
2. Может надо (*p_p).zip1?
...не как

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
struct pc {
      int zip1;       
      int zip2;        
      int zip3;  };
       
int main()
{
     pc *p_p=new pc;
     pc jd={100,101,102};
    (*p_p).zip1=22; 
    cout<<*p_p.zip1<<"\n";  //ошибка в чем?
            
    system("PAUSE");   }
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
11.03.2012, 18:38 #23
Цитата Сообщение от Duha666 Посмотреть сообщение
Может надо (*p_p).zip1?
вообще то всю жизнь для работы с указателями
->
C++
1
p_p->zip1=...
.

Добавлено через 1 минуту
Цитата Сообщение от maxht Посмотреть сообщение
int main()
{
pc *p_p=new pc;
pc jd={100,101,102};
(*p_p).zip1=22;
cout<<*p_p.zip1<<"\n"; //ошибка в чем?
C++
1
2
3
4
pc *p_p=new pc;
 pc jd={100,101,102};// вот это зачем ??? нигде не используется
 p_p->zip1=22; 
 cout<<p_p->zip1<<"\n";
maxht
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 18:46  [ТС] #24
как??? я уже под разными компиляторами пробовал и ни как...помогите)))

Добавлено через 3 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
вообще то всю жизнь для работы с указателями
->
C++
1
p_p->zip1=...
.

Добавлено через 1 минуту


C++
1
2
3
4
pc *p_p=new pc;
 pc jd={100,101,102};// вот это зачем ??? нигде не используется
 p_p->zip1=22; 
 cout<<p_p->zip1<<"\n";
ненене эт я коротко описал проблему эт тут не надо но как jd.zip1 поменять через указатель или ссылку?
Duha666
51 / 51 / 5
Регистрация: 10.03.2012
Сообщений: 138
11.03.2012, 18:46 #25
C++
1
2
p_p = &jd;
p_p->zip1 = a;
maxht
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 18:47  [ТС] #26
p_p->zip1...==(*p_p).zip1
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
11.03.2012, 18:52 #27
Цитата Сообщение от maxht Посмотреть сообщение
ненене эт я коротко описал проблему
да не описал та проблему
я не могу понять что тебе надо??
вот это
C++
1
2
pc *p_p=new pc;
 pc jd={100,101,102};
создает два объекта один на стеке другой в куче
C++
1
2
3
pc *p_p;
 pc jd={100,101,102};
p_p=&jd;
создаст один объект на стеке но p_p указатель на него будет указывать
соответственно
Цитата Сообщение от maxht Посмотреть сообщение
p_p->zip1=22;
cout<<p_p->zip1<<"\n";
в первом случае запишет(и выведет) zip1 в объекте который в куче
а во втором случае который на стеке и это будет аналогично
C++
1
2
jd.zip1=22; 
 cout<<jd.zip1<<"\n";
maxht
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 19:28  [ТС] #28
1.p_p->zip1=jd.zip1 так присваивается значение...адреса разные
2. как присвоить адрес? .p_p->zip1 имела адрес jd.zip1
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
11.03.2012, 19:48 #29
Цитата Сообщение от maxht Посмотреть сообщение
p_p->zip1=jd.zip1 так присваивается значение...адреса разные
но указывают на одну ячейку(если по второму варианту)
Цитата Сообщение от maxht Посмотреть сообщение
как присвоить адрес?
какой кому ??
получить адрес структуры

C++
1
p_p=&jd;
получить адрес члена структуры
C++
1
int *tt=&jd.zip1
объясни толком словами что ты хочешь?
maxht
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 20:06  [ТС] #30
спасибо все получилось...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2012, 20:06
Привет! Вот еще темы с ответами:

Добавление компиляторов и отладчиков с++ для windows 8 x64 - C++
Здравствуйте господа программисты, у меня такой вопрос: Решил изучать с++ поставил себе IDE Netbeans 7.2 и компилятор &quot;cygwin&quot;. Но при...

Указатели и указатели на указатели, а также типы данных - C++
Недавно начал изучать Си, перешел с Delphi. Много непонятного и пока процесс идет медленно. Накачал литературы, буду изучать) Щас...

Помогите с Указателями(проблема) - C++
Привет всем, возник вопрос, почему вот так вот можно написать и копирующий конструктор класса не вызовется: void snf(Student* copy) { ...

Visual Studio 2010 + Windows 7 x64. Ошибки при компиляции - C++
Здравствуйте. Использую Visual Studio 2010 и Windows 7 x64 Компилю код. Получаю экзешник. На компьютере запускается нормально. Пробую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.03.2012, 20:06
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru