Riepilogo: nozioni di base sui puntatori
Fa parte della sezione Logica e flusso del percorso C di Coddy. Lezione 6 di 63.
Sfida
FacileScrivi un programma C che dimostri il flusso di lavoro completo con i puntatori, lavorando con più tipi di dati. Il tuo programma dovrebbe:
- Dichiarare una variabile intera denominata
agee inizializzarla con il valore 25 - Dichiarare una variabile carattere denominata
gradee inizializzarla con il valore 'A' - Dichiarare una variabile float denominata
temperaturee inizializzarla con il valore 98.6 - Dichiarare tre puntatori corrispondenti:
- Un puntatore a un intero denominato
age_ptr - Un puntatore a un carattere denominato
grade_ptr - Un puntatore a un float denominato
temp_ptr
- Un puntatore a un intero denominato
- Usare l'operatore di indirizzo per assegnare gli indirizzi delle variabili ai rispettivi puntatori
- Usare l'operatore di dereferenziazione per stampare tutti e tre i valori tramite i relativi puntatori nel formato seguente:
- Età: [value]
- Voto: [value]
- Temperatura: [value] (con esattamente 1 cifra decimale)
- Modificare le variabili originali tramite i relativi puntatori:
- Modificare
agein 30 usandoage_ptr - Modificare
gradein 'B' usandograde_ptr - Modificare
temperaturein 99.5 usandotemp_ptr
- Modificare
- Stampare i valori modificati direttamente dalle variabili originali (non tramite i puntatori), nello stesso formato del passaggio 6
L'output dovrebbe mostrare i risultati nel formato seguente:
Age: 25
Grade: A
Temperature: 98.6
Age: 30
Grade: B
Temperature: 99.5Questa sfida verifica la tua comprensione della dichiarazione dei puntatori, dell'assegnazione degli indirizzi e della dereferenziazione per leggere e scrivere i valori, e dimostra che i puntatori forniscono accesso diretto alle posizioni di memoria delle variabili originali.
Provalo tu
#include <stdio.h>
int main() {
// TODO: Scrivi il tuo codice qui
// Dichiara variabili e puntatori
// Assegna indirizzi ai puntatori
// Stampa i valori tramite i puntatori
// Modifica i valori tramite i puntatori
// Stampa i valori modificati dalle variabili originali
return 0;
}Tutte le lezioni di Logica e flusso
1Fondamenti dei puntatori
Che cos’è un puntatore?Dichiarare i puntatoriL’operatore di indirizzo (&)L’operatore di dereferenziazione (*)Puntatori NULLRiepilogo: nozioni di base sui puntatori4Progetto: Utility di testo semplice
Panoramica del progettoConteggio dei caratteri2Puntatori e array
I nomi degli array come puntatoriElementi degli array e puntatoriAritmetica dei puntatoriConfrontare i puntatoriRiepilogo: attraversamento di un array con i puntatori5Puntatori e funzioni
Passaggio per valorePassare puntatori alle funzioniModificare le variabili tramite puntatoriUn esempio classico: scambiare valoriPassare array alle funzioniRiepilogo: argomenti puntatore nelle funzioni3Array di caratteri e stringhe
Stringhe come array di charIl terminatore nullInput di stringhe con scanfUso di strlen()Uso di strcpy()Uso di strcat()Uso di strcmp()Riepilogo: funzioni di base per le stringhe6Gestione della memoria
Memoria Stack vs. HeapAllocazione dinamica - malloc()Usare sizeof() per l'allocazioneVerificare il fallimento dell'allocazioneLiberare la memoria con free()Allocare con calloc()Riepilogo: array dinamico9Progetto: Inserimento semplice di un contatto
Progetto: Definire una struct ContattoFunzione per creare un contattoEsercitati da solo: Compilatore C online