Это видео недоступно.
Сожалеем об этом.
Lezione 13: Gestione delle Stringhe - Linguaggio C [CORSO COMPLETO]
HTML-код
- Опубликовано: 16 авг 2024
- LIBRI CONSIGLIATI E UTILIZZATI PER LA COMPOSIZIONE DEL CORSO:
K&R: amzn.to/2LG3cCV
(Il più piccolo dei tre, magari richiede minimo una conoscenza di base del linguaggio, va abbastanza spedito, ma molto valido.)
Deitel: amzn.to/3d5ZQ7p
(Lettura piacevole per chi vuole iniziare e che piano piano protende verso gli argomenti più articolati. Molti esercizi e visione sulla sicurezza del codice.)
Pellegrino Principe: amzn.to/3a98Tm2
(Libro nozionistico, che punta ad approfondire concetti specifici del linguaggio. Va bene come libro d'accompagnamento ai primi due.)
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔥🔥 SOCIAL 🔥🔥
📢 Canale Telegram: t.me/programma...
️🖥️ Gruppo Telegram: bit.ly/3303pDH
👤 Instagram: bit.ly/2YuWx3E
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔥🔥 SOSTIENI IL CANALE 🔥🔥
📦 Amazon Prime: www.amazon.it/p...
📚 Amzon Prime Student: www.amazon.it/j...
🎥 Amazon Prime Video: www.primevideo...
🎶 Amazon Music: www.amazon.it/...
👕 Store magliette: bit.ly/2puSFzo
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔥🔥 CAPITOLI 🔥🔥
00:00 Introduzione
00:31 Funzionamento delle stringhe
05:35 Comandi libreria stdio.h
06:41 Comandi libreria stdlib.h
08:39 Comandi libreria string.h
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
#LinguaggioC
#CorsoC
#Programmazione
#Informatica
#C
Non sto capendo una cosa, se il Black Smash 0 non permette al compilatore di stampare quello che c'è dopo nel vettore, perché la poniamo la Stringa nel ciclo diversa da '\0'? È un contro senso non dev'essere str[i] == '\0' per permettere di non stampare le celle non inizializzate?
Il '\0' è un carattere speciale che indica la terminazione della stringa.
Quindi se tu parti da i=0 e prosegui avanti, vuoi arrivare fino al carattere terminatore. Ecco perché ogni carattere è != '\0', perché è se tu dicessi "ciclo fino a quando il carattere i-esimo è diverso da quello di terminazione".
Se tu invece poni == '\0', allora stai dicendo che cicli fino a quando ogni carattere i-esimo che valuti è quello di terminazione, cosa ovviamente non vera.
@@ProgrammazioneTimeOfficial fai lezioni private online?
@@ProgrammazioneTimeOfficial un altra cosa, non ho capito cosa rappresenta Back stage
?
Al momento non do lezioni private, per via del poco tempo.
Per quanto riguarda
avevo spiegato nel video riguardante la gestione dell'output, che serve per mandare a capo l'output (
= newline)
Quindi su fgets viene aggiunto un '
' alla fine della frase inserita?
E le funzioni getchar e putchar?
Cmq bel video!
Fgets prende l'intera riga inserita. Quindi se per esempio lo stream da cui prelevi l'input è la tastiera (stdin) e premi invio per confermare quanto inserito allora quell'invio è un
. Al contrario se a fine stringa inserisci EOF (le combinazioni per questo carattere mi sembra di averle dette), allora la stringa non si conclude con quell'invio a capo e pertanto non c'è
.
Le funzione getchar e putchar sono state trattate nelle lezioni di input e output a inizio corso.
@@ProgrammazioneTimeOfficial Grazie della risposta. Cmq continuo a non capire perché nella fgets mi inserisce un carattere in più rispetto a gets; a fine frase.
Perché premendo il tasto invio dalla tastiera (che è il tuo stream stdin) tu gli stai dando quel carattere, ovvero
. Quindi è normale che ci sia. Se provi a interromperla con EOF non prendi il
(devi guardarti la combinazione di tasti se sei da Linux/Mac os, Windows).
@@ProgrammazioneTimeOfficial AAAAAhhhhh capito. Più semplice di quello che sembrava xd.
Ciao, non mi è chiara una cosa......Se una stringa è un vettore di caratteri, e quindi un vettore di caratteri è a sua volta una stringa, come li si differenziano? Qualè la differenza principalentra tra le 2? Se ho capito bene, l'unica differenza sta nel carattere terminatore, inserito automaticamente per le stringhe e manualmente nei vettori di caratteri. Giusto?
Grazie i tuoi video ho potuto ripredere in mano il c dopo 2 anni di fermo, grazie
La stringa è gestita come un vettore di caratteri, nel C non c'è un tipo di dati primitivo per le stringhe (a differenza dei linguaggi a oggetti)
Ciao esiste un modo per acquisire stringhe contenente spazi con scanf?
Scanf prende in input solo singole stringhe, quindi appena trova uno spazio capisce che è finita. Tuttavia puoi aumentare il numero di variabili per prendere più singole parole:
scanf("%s %s %s", str1, str2, str3);
Altrimenti se vuoi fare più parole in una singola variabile usi fgets
C'è differenza tra atof() e strtod()? E tra atoi() e strtol()?
Enormi differenze. Semmai la somiglianza è tra atof e atoi e tra strtod e strtol.
Atof e atoi convertono una stringa (presa come parametro di funzione) rispettivamente in un numero a virgola mobile (double) e un numero intero (int).
Mentre strtod e strtol estrapolano da una stringa un numero presente all'intero (rispettivamente in virgola mobile e in intero). Il numero estrapolato viene ritornato dalla funzione, mentre alla stringa viene rimosso quel valore numerico (è un gioco con puntatori, banalmente si ritorna il puntatore di inizio testo dopo il numero)
@@ProgrammazioneTimeOfficial Perfetto, grazie mille.