Strukturen und Pointer



  • Hi!

    #include <iostream.h>
    #include <stdlib.h>
    
    struct sBank
    {
        int  Size;
        void *Address;
    };
    
    using namespace std;
    
    int main(void)
    {   
        char dummy;
    
        sBank            *MyBank;
        MyBank          = new(sBank);
        MyBank->Size    = 50;
        MyBank->Address = malloc(50);
    
        (int*)((void)&MyBank->Address + 10)) = 20;
        cout << (int*)((void)&MyBank->Address + 10));
        cin >> dummy;
    }
    

    Ich will dem Offset Address + 10 (also die eigentlich Adresse des allokierten
    Speichers + 10) einen Integerwert 20 zuweisen, und auch ausgeben.
    Bloß warum geht das nicht so?
    Wenn es geht, nicht das ganze über zusatzbefehle wie memcopy regeln.
    thx schonmal!
    mfg olli


Anmelden zum Antworten