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
- Inizializzazione delle Stringhe
- Lettura e stampa delle Stringhe
- Lettura di spazi incorporati
- Lunghezza di una Stringa
- Stringhe e Funzioni
- 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).
- Ogni stringa deve terminare con un carattere NULL (cioè ‘\0’)
- Un numero positivo unico chiamato indice identifica ogni carattere di una stringa.
- Il valore dell’indice deve iniziare da 0.
- L’accesso casuale ai caratteri in una stringa è possibile.
- 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
- Inizializzazione delle Stringhe
- Lettura e stampa delle Stringhe
- Lettura di spazi incorporati
- Lunghezza di una Stringa
- Stringhe e Funzioni
- 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]);
} |
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.