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

    Linguaggio C - puntatori

    ciao ragazzi

    dando un occhiata al codice in fondo a qst pagina trovo strano il fatto ke dopo aver richiamato la API

    SendMessage(hStat, WM_GETTEXT, 6, (LPARAM)buff);

    alloca nella variabile puntatore pTesto il valore "Salve" o "Ciao" a seconda della IF

    ke vuol dire?

    ke il contenuto, ossia l'indirizzo di memoria che dovrebbe contenere viene sovrascritto con la stringa????

    è una tecnica valida?
    ke vantaggio si trova?

    saluti
    il secondo è il primo degli ultimi

  2. #2

    Re: Linguaggio C - puntatori

    Originariamente inviato da alphard
    alloca nella variabile puntatore pTesto il valore "Salve" o "Ciao" a seconda della IF
    Non alloca un bel niente, semplicemente assegna a pTesto l'indirizzo della stringa "Ciao" (o "Salve", a seconda), stringhe che risiedono nella tabella delle stringhe dell'eseguibile.
    ke il contenuto, ossia l'indirizzo di memoria che dovrebbe contenere viene sovrascritto con la stringa????
    Qual è il soggetto/il complemento oggetto della frase "che dovrebbe contenere"?
    è una tecnica valida?
    ke vantaggio si trova?
    Rispetto a quale altra tecnica?

    Spiegati meglio, e soprattutto evita di scrivere come se fosse un SMS.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    ciao

    vorrei capire cosa succede di preciso con l'istruzione

    pTesto = "Salve";


    Non alloca un bel niente, semplicemente assegna a pTesto l'indirizzo della stringa "Ciao" (o "Salve", a seconda), stringhe che risiedono nella tabella delle stringhe dell'eseguibile.
    e già che ci siamo sapere cos'è la tabella delle stringhe.
    il secondo è il primo degli ultimi

  4. #4
    Originariamente inviato da alphard
    ciao

    vorrei capire cosa succede di preciso con l'istruzione

    pTesto = "Salve";
    Al puntatore pTesto viene assegnato l'indirizzo della stringa "Salve", che risiede nella tablla delle stringhe dell'eseguibile.
    e già che ci siamo sapere cos'è la tabella delle stringhe.
    Generalmente gli eseguibili hanno al loro interno una tabella di stringhe, che contiene tutte le stringhe che il programmatore ha inserito nel codice (come, appunto, le stringhe "Salve" e "Ciao" dell'esempio) in sequenza. Quando viene avviato un eseguibile esso viene mappato tutto o in parte in memoria e lì modificato più o meno pesantemente (è un processo che dipende strettamente dal formato di eseguibile impiegato), ma in linea di massima la tabella delle stringhe viene sempre mappata in memoria; questo quindi consente il funzionamento dell'istruzione in questione.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.