Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C] Cast da/a void*

  1. #1

    [C] Cast da/a void*

    Salve, il seguente codice:

    Codice PHP:
    void f(voidx)
    {
        
    int y = (int)x;
        
    printf("%d\n"y);
    }

    int main()
    {
        
    int x 1;
        
    f((void*)x);

    non dovrebbe creare problemi, giusto?
    Il compilatore non dice nulla e il programma funziona e, da quanto ho capito, posso usare il void* per indicare una qualsiasi cosa (puntatore e non). Correggetemi se sbaglio.

    Invece cosa succede se faccio così?

    Codice PHP:
    void f(voidx)
    {
        
    int y = (int)x;
        
    printf("%d\n"y);
    }

    int main()
    {
        
    f((void*)1);

    cioè utilizzando direttamente una costante? Può crearmi problemi in qualche maniera, nonostante il compilatore non mi segnali nulla e il programma funzioni?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381

    Re: [C] Cast da/a void*

    da quanto ho capito, posso usare il void* per indicare una qualsiasi cosa (puntatore e non)
    L'unica cosa illegale è castare a void* un puntatore a funzione, il resto è ammesso.

    Invece cosa succede se faccio così?
    ...
    Beh, sono costanti. Finche non cerchi di modificarle non hai problemi.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3

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 © 2025 vBulletin Solutions, Inc. All rights reserved.