Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Comprensione dei Puntatori Void | Puntatori
Fondamenti Di C

bookComprensione dei Puntatori Void

Quando hai visto per la prima volta void, si riferiva a funzioni che non restituiscono valore. Non è possibile creare una variabile di tipo void, ma è possibile dichiarare un puntatore void* che memorizza l'indirizzo di qualsiasi tipo di dato.

Note
Nota

Se hai completato gli esercizi sui puntatori in questa sezione, saprai che tutti i puntatori occupano 8 byte. Un puntatore void* non fa eccezione.

Un puntatore void* non è legato a nessun tipo di dato specifico. Questa flessibilità consente di memorizzare in esso l'indirizzo di qualsiasi tipo di dato. Tuttavia, c'è una limitazione: non è possibile dereferenziare un puntatore void*.

Note
Nota

Questa limitazione deriva dallo stesso motivo per cui non è possibile dichiarare variabili di tipo void. Effettuare una conversione di tipo esplicita!

Main.c

Main.c

copy
1234567891011121314151617181920
#include <stdio.h> int main() { char c = 'F'; int i = 100; double d = 3.15; void* pV; pV = &c; printf("%c \n", *((char*)pV)); pV = &i; printf("%d \n", *((int*)pV)); pV = &d; printf("%.2f \n", *((double*)pV)); return 0; }

Congratulazioni per aver completato le basi della programmazione in C! Per progredire ulteriormente, esplorare argomenti come macro, algoritmi di ordinamento e strutture dati. Imparare una distribuzione Linux aiuterà anche a crescere come programmatore C competente.

question mark

Come si recupera il valore di un puntatore void?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 6. Capitolo 6

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain why you can't dereference a void pointer?

What are some common uses for void pointers in C?

Can you give examples of how to cast a void pointer to another type?

Awesome!

Completion rate improved to 2.63

bookComprensione dei Puntatori Void

Scorri per mostrare il menu

Quando hai visto per la prima volta void, si riferiva a funzioni che non restituiscono valore. Non è possibile creare una variabile di tipo void, ma è possibile dichiarare un puntatore void* che memorizza l'indirizzo di qualsiasi tipo di dato.

Note
Nota

Se hai completato gli esercizi sui puntatori in questa sezione, saprai che tutti i puntatori occupano 8 byte. Un puntatore void* non fa eccezione.

Un puntatore void* non è legato a nessun tipo di dato specifico. Questa flessibilità consente di memorizzare in esso l'indirizzo di qualsiasi tipo di dato. Tuttavia, c'è una limitazione: non è possibile dereferenziare un puntatore void*.

Note
Nota

Questa limitazione deriva dallo stesso motivo per cui non è possibile dichiarare variabili di tipo void. Effettuare una conversione di tipo esplicita!

Main.c

Main.c

copy
1234567891011121314151617181920
#include <stdio.h> int main() { char c = 'F'; int i = 100; double d = 3.15; void* pV; pV = &c; printf("%c \n", *((char*)pV)); pV = &i; printf("%d \n", *((int*)pV)); pV = &d; printf("%.2f \n", *((double*)pV)); return 0; }

Congratulazioni per aver completato le basi della programmazione in C! Per progredire ulteriormente, esplorare argomenti come macro, algoritmi di ordinamento e strutture dati. Imparare una distribuzione Linux aiuterà anche a crescere come programmatore C competente.

question mark

Come si recupera il valore di un puntatore void?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 6. Capitolo 6
some-alt