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

Присвоить Указателю адрес из массива Char - C++

Восстановить пароль Регистрация
 
_KUL
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 28
14.05.2013, 05:30     Присвоить Указателю адрес из массива Char #1
Например есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main()
{
    int a = 123456789;
    int *sa = &a;
    char b[7];
    cout << sa << " - ";
    cout << ++sa <<  endl;
    cin >> b;
    cout << "b , address - " << &b << " Value - "<< b << endl;
    sa = (int*)b;
    cout << sa;
    return 0;
}
Почему указателю sa присваивается адрес переменной b, а не её содержимое?
Т.е. если я сделаю sa = (int*)0x28ffa1; то sa будет ссылаться на адрес. А если я хочу, чтобы пользователь с клавиатуры ввёл адрес куда должен ссылаться указатель?

Суть интереса в том, чтобы посмотреть что в тех байтах, которые хранят int переменной a. Проблема в том, что умный язык С++ при действии sa++ увеличит адрес на 4 байта, а хочется на 1 и посмотреть что в этой ячейки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2013, 05:30     Присвоить Указателю адрес из массива Char
Посмотрите здесь:

присвание указателю char значения int C++
Указателю на базовый класс присвоить адрес производного класса C++
Надо указателю на long int присвоить значение указателя на char C++
C++ Не получается присвоить значение указателю на функцию
ПРисвоить указателю нулевое значение- кк? с поммощщю каких знаков и действий? C++
C++ Вывод адреса по указателю на char в std::cout
C++ Как лучше присвоить указателю на указатель адрес массива
Присвоить указателю конкретный адрес C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,915
Записей в блоге: 2
Завершенные тесты: 1
14.05.2013, 06:24     Присвоить Указателю адрес из массива Char #2
Цитата Сообщение от _KUL Посмотреть сообщение
увеличит адрес на 4 байта, а хочется на 1 и посмотреть что в этой ячейки.
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iomanip>
 
int main(){ 
    int number=-1;
    unsigned char * p=(unsigned char*)&number;  
    for(int i=0;i<sizeof(int);++i,++p)
        std::cout<<std::setbase(16)<<(unsigned int)*p<<" ";
    std::cout<<std::endl;
}
_KUL
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 28
14.05.2013, 06:54  [ТС]     Присвоить Указателю адрес из массива Char #3
Спасибо!
Блин, такая же идея была, но выходили кракозябры, не мог понять почему, а оказалось нужно приведение типов было сделать (unsigned int)*p ...
Yandex
Объявления
14.05.2013, 06:54     Присвоить Указателю адрес из массива Char
Ответ Создать тему
Опции темы

Текущее время: 17:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru