Это видео недоступно.
Сожалеем об этом.

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

Комментарии • 17

  • @rxgs_6395
    @rxgs_6395 Год назад +1

    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?

    • @ProgrammazioneTimeOfficial
      @ProgrammazioneTimeOfficial  Год назад

      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.

    • @rxgs_6395
      @rxgs_6395 Год назад

      @@ProgrammazioneTimeOfficial fai lezioni private online?

    • @rxgs_6395
      @rxgs_6395 Год назад

      @@ProgrammazioneTimeOfficial un altra cosa, non ho capito cosa rappresenta Back stage
      ?

    • @ProgrammazioneTimeOfficial
      @ProgrammazioneTimeOfficial  Год назад

      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)

  • @nicolaturchetto9884
    @nicolaturchetto9884 2 года назад +2

    Quindi su fgets viene aggiunto un '
    ' alla fine della frase inserita?
    E le funzioni getchar e putchar?
    Cmq bel video!

    • @ProgrammazioneTimeOfficial
      @ProgrammazioneTimeOfficial  2 года назад

      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.

    • @nicolaturchetto9884
      @nicolaturchetto9884 2 года назад

      @@ProgrammazioneTimeOfficial Grazie della risposta. Cmq continuo a non capire perché nella fgets mi inserisce un carattere in più rispetto a gets; a fine frase.

    • @ProgrammazioneTimeOfficial
      @ProgrammazioneTimeOfficial  2 года назад

      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).

    • @nicolaturchetto9884
      @nicolaturchetto9884 2 года назад

      @@ProgrammazioneTimeOfficial AAAAAhhhhh capito. Più semplice di quello che sembrava xd.

  • @antoniolovisi8811
    @antoniolovisi8811 6 месяцев назад

    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

    • @ProgrammazioneTimeOfficial
      @ProgrammazioneTimeOfficial  6 месяцев назад +1

      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)

  • @paolo69
    @paolo69 Год назад +1

    Ciao esiste un modo per acquisire stringhe contenente spazi con scanf?

    • @ProgrammazioneTimeOfficial
      @ProgrammazioneTimeOfficial  Год назад +2

      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

  • @ttiziano
    @ttiziano Год назад

    C'è differenza tra atof() e strtod()? E tra atoi() e strtol()?

    • @ProgrammazioneTimeOfficial
      @ProgrammazioneTimeOfficial  Год назад

      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)

    • @ttiziano
      @ttiziano Год назад

      @@ProgrammazioneTimeOfficial Perfetto, grazie mille.