[C++] Wskazniki, tablice, problem ze zrozumieniem polecenia

Avenlyn
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 19 lis 2016, o 23:54
Płeć: Mężczyzna
Lokalizacja: Katowice
Podziękował: 2 razy

[C++] Wskazniki, tablice, problem ze zrozumieniem polecenia

Post autor: Avenlyn »

Witam,
nie ciągnie mnie do programowania, jednakże jest to przedmiot który musze zrozumieć, umieć, nauczyc się... idzie mi to z oporem, chociaż staram się. Zostało mi postawione zadanie, którego nie umiem zrozumieć. Czy ktoś pomógłby mi, nakierował, rozpisał przykładowy kod tego programu z polecenia? Na co powinienem zwrócić uwagę? Dodam, że w tym temacie jestem początkujący, z tym zadaniem mam problem. Nie jestem kompletną nogą z programowania, jednakże to zadanie sprawia mi trudność. Czy jest na sali programista? To zadanie można wykonać w C/C++ dowolnie.

Treść:

- Utwórz zmienne różnych typu: char, int, long int, float, ...
- Napisz instrukcje zapisu wartości do jednej zmiennej (np. typu long)
za pomocą adresu innej zmiennej (tego samego typu lub innego)
- Kontrolnie wyświetlaj zawartości zmiennych po dokonaniu tych zapisów

Dodatkowo można napisać fragment programu, który wyświetli
zawartości poszczególnych bajtów zajmowanych w pamięci
przez w/w zmienne, np int zajmuje cztery bajty i można w jakiś ładny sposób wyświetlić zawartość tych bajtów każdego z osobna.
kalwi
Użytkownik
Użytkownik
Posty: 1931
Rejestracja: 29 maja 2009, o 11:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 145 razy
Pomógł: 320 razy

C/C++, wskazniki, tablice, problem ze zrozumieniem polecenia

Post autor: kalwi »

Kod: Zaznacz cały

#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
#include <limits.h>

int main()
{
    int x = INT_MAX/2;
    int *y;
    y = &x;
    printf("%d
", *y);
    unsigned char byte;
    for(size_t i = 0; i < sizeof(x); ++i) 
    {
        byte = *((unsigned char *)&x + i);
        printf("Bajt %zi. dec: %u, hex: %x
", i, (unsigned)byte,(unsigned)byte);
    }

    return 0;
}
ODPOWIEDZ