Programmazione C · 4 min read · Oct 09, 2025

Apprendimento C/C++ Passo dopo Passo - Pagina 8

08. Passo dopo Passo C/C++ — Programmazione C - Stringhe

Stringhe
- Introduzione
- Caratteristiche delle stringhe
- Operazioni sulle Stringhe

| | 1. Definizione delle Stringhe

  1. Inizializzazione delle Stringhe
  2. Lettura e stampa delle Stringhe
  3. Lettura di spazi incorporati
  4. Lunghezza di una Stringa
  5. Stringhe e Funzioni
  6. Array di Stringhe |

Introduzione

Gli array sono utilizzati per esaminare le stringhe, generalmente le stringhe sono variabili di tipo array.
Una stringa è una collezione di caratteri che include spazi, mentre una parola è una collezione di caratteri che esclude spazi. Ogni variabile stringa deve terminare con il carattere nullo ‘\0’ e il valore dell’indice inizia da 0.

Ogni stringa ha le seguenti caratteristiche:

| | 1. Deve essere una collezione di caratteri (cioè caratteri, numeri e caratteri speciali).

  1. Ogni stringa deve terminare con un carattere NULL (cioè ‘\0’)
  2. Un numero positivo unico chiamato indice identifica ogni carattere di una stringa.
  3. Il valore dell’indice deve iniziare da 0.
  4. L’accesso casuale ai caratteri in una stringa è possibile.
  5. Una stringa deve essere dichiarata con una dimensione fissa come gli array. |

Per esempio, considera il seguente esempio:

char str = " magic";

| | |

Una varietà di funzioni della libreria stringhe sono utilizzate per manipolare le stringhe. Un array di stringhe è un array di array di tipo char.

Operazioni sulle Stringhe

Possiamo eseguire operazioni molto migliori rispetto all’utilizzo delle funzioni della libreria stringhe.
Le stringhe possono accettare le seguenti operazioni.

| | 1. Definizione delle Stringhe

  1. Inizializzazione delle Stringhe
  2. Lettura e stampa delle Stringhe
  3. Lettura di spazi incorporati
  4. Lunghezza di una Stringa
  5. Stringhe e Funzioni
  6. Array di Stringhe |

1. Definizione di una Stringa

Ogni variabile deve essere dichiarata all’inizio del programma.
La definizione della variabile stringa è la seguente.

| | |

2. Inizializzazione delle Stringhe

Le stringhe possono essere inizializzate nei seguenti modi.

| | 1. Assegnazione Diretta char name[10] = "Ashitha"; Assegna “Ashitha” a name lasciando il resto vuoto. | 2. Assegnazione Diretta senza Dimensione char name[] = "Ashitha"; Assegna “Ashitha” a name e fissa la sua larghezza fino alla dimensione del Costante. | | | 3. Assegnazione in fase di progettazione char name[10];
strcpy(name, “Ashitha”); Utilizzando le funzioni Stringhe è possibile.
Ma C non supporta mai l’assegnazione come:
name = “Ashitha”; | 4. Assegnazione in fase di esecuzione char name[10];
scanf(“%s”, name); Accetta e assegna un valore costante alla variabile in fase di esecuzione. |

3. Lettura e Stampa delle Stringhe

C fornisce vari tipi di funzioni stringa per leggere e stampare una costante stringa. Elencate di seguito.

| | Dichiarazioni di Input
getch
getche
getchar
gets
scanf | Dichiarazioni di Output
putch

putchar
puts
printf |

| | / Programma per accettare e visualizzare una stringa /
/ 51_strings.c /
#include
int main()
{
char str[20];
scanf(“%s”, str);
printf(“%s” str);
return 0;
} |

| | / Programma per accettare e visualizzare una stringa con un prompt /
/ 52_strings.c /
#include
int main( )
{
char str[20];
printf(“Inserisci una stringa :”); scanf(“%s”, str);
printf(“\nHai inserito : %s”, str);
return 0;
} |

4. Lettura di spazi incorporati

scanf accetta stringhe, quindi leggerà stringhe costituite da una sola parola, ma qualsiasi cosa digitata dopo uno spazio viene scartata.

Es. Inserisci Stringa : La è un abisso senza fondo.
Hai inserito : La

Per leggere testo contenente spazi utilizziamo un’altra funzione, gets().

| | /leggi stringa con spazi incorporati /
/ 53_gets.c /
const int MAX = 80;
int main()
{
char str[MAX];
print(“Inserisci una stringa :”); gets(str);
printf(“Hai inserito :”); puts(str);
return 0;
} |

5. Lunghezza della Stringa

Ogni stringa ha una lunghezza fissa a seconda della sua costante.
Il seguente programma dimostra come trovare la lunghezza della stringa

| | / Per trovare la lunghezza di una stringa data /
/ 53_length.c /
#include
int main()
{
int i=0;
char str[50];
printf(“Inserisci una stringa “); gets(str);
while(str[i] != ‘\0’) i++;
printf(“La lunghezza è %d”, i);
return 0;
} |

6. Stringhe e Funzioni

Una funzione è un blocco di istruzioni autonomo che esegue un compito specifico. Il modo migliore per organizzare le stringhe.
I seguenti sono esempi di organizzazione delle stringhe utilizzando funzioni.

| | / Programma per trovare la lunghezza di una stringa /
/ 54_len.c /
#include
int len_str(char s[]); int main()
{
int l; char str[50];
printf(“Inserisci una stringa “); gets(str);
l = len_str(str);
printf(“\nLunghezza della stringa : %d”, l);
} int len_str(char s[])
{
int l=0;
while(s[l] != ‘\0’) l++;
return l;
} |

| | / Programma per accettare e stampare una stringa /
/ 55_str.c /
#include
void disp_str(char s[]); int main()
{
char str[50];
printf(“Inserisci una stringa “); gets(str);
disp_str(str);
return 0;
} void disp_str(char s[])
{
int i=0;
while( s[i] != ‘\0’ ) putch(s[i++]);
} |

7. Array di Stringhe

Gli array sono utilizzati per esaminare le stringhe, generalmente le stringhe sono variabili di tipo array. Quindi, possiamo accedere all’array di stringhe.
I seguenti esempi illustrano come sono organizzati gli Array di Stringhe.

| | / Programma per visualizzare un array di stringhe /
/ 56_display.c /
#include
void main()
{
char week[7][] = { “Domenica”, “Lunedì”, “Martedì”, “Mercoledì”, “Giovedì”, “Venerdì”, “Sabato” };
int i;
for( i = 0; i<7; i++) puts(week[i]);
} |

| | / Programma per accettare e visualizzare un array di stringhe /
/ 57_strings.c /
#include
void main()
{
char names[7][10]; int i;
for( i = 0; i<7; i++) gets(names[i]);
for( i = 0; i<7; i++) puts(names[i]);
} |

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.