Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [c] indirizzi nel c, ogni quanti byte?

    ragazzi ogni quanti byte c'è un indirizzo registrato per le variabili in c?
    ogni singolo byte?

    cioè se allochiamo 4-5 char (che occupano un solo byte) avremo degli indirizzi del tipo:
    200001
    200002
    200003

    ecc?

    thx

  2. #2
    ok facendo una prova ho visto che se alloco 4 variabili char gli indirizzi differiscono l'uno dall'altro di 12 "posizioni"

    es:

    10527
    10539
    10551


    qlc mi spiega? ^^

  3. #3
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    io veramente ho provato a dichiarare 3 variabili char e i loro indirizzi differiscono solo di uno!!

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main ()
    {
        
        char x='d', y='f', z='m'; 
        
        printf ("indirizzo x: %d\n", &x );
        printf ("dimensione float: %d\n", &y);
        printf ("dimensione char: %d\n", &z);
        
        system ("pause");
        return 1;
    }
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  4. #4

  5. #5
    ah vabbè se può cambiare anceh dal compilatore allora non è un dato oggettivo del c diciamo

    fa niente

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475
    Se le variabili sono dichiarate in maniera indipendente finiscono un po' dove gli pare diciamo, finchè è un indirizzo di memoria valido. Se invece tu avessi dichiarato un array di char sarebbero state consecutive. O almeno credo, non sono un esperto di c.

  7. #7
    Originariamente inviato da Ippo343
    Se le variabili sono dichiarate in maniera indipendente finiscono un po' dove gli pare diciamo, finchè è un indirizzo di memoria valido.
    Be', un indirizzo di memoria diventa valido nel momento in cui viene "collegato" a della memoria allocata. Comunque per come viene allocata la memoria, tutto dipende da come è scritto l'allocator.
    Se invece tu avessi dichiarato un array di char sarebbero state consecutive.
    Certo, altrimenti non sarebbe un array.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475
    Wow che figata allora sto iniziando a capirci qualcosa

    Vengo da 1 anno a livello infimo e ignorante di Visual Basic, 2 anni a livello scarsino di Delphi e un annetto abbondante di C#. Mai usato i puntatori in vita mia finchè due settimane fa non ho deciso che devo imparare il C++ ^^
    "Let him who has understanding reckon the number of the beast, for it is a human number.
    Its number is rw-rw-rw-."

  9. #9
    Originariamente inviato da Ippo343
    Wow che figata allora sto iniziando a capirci qualcosa

    Vengo da 1 anno a livello infimo e ignorante di Visual Basic, 2 anni a livello scarsino di Delphi e un annetto abbondante di C#. Mai usato i puntatori in vita mia finchè due settimane fa non ho deciso che devo imparare il C++ ^^
    praticamente 4 anni e non sai niente



  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475
    Ahah hai ragione xD

    Adessi un po' di C++ (ormai ragiono usando le classi persino nella vita reale), poi più avanti affronterò il C. E un giorno finalmente riuscirò anche io a usare assembly! ^^
    "Let him who has understanding reckon the number of the beast, for it is a human number.
    Its number is rw-rw-rw-."

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.