Dichiarazione array di caratteri come costanti

di il
1 risposte

Dichiarazione array di caratteri come costanti

Vorrei sapere se è possibile assegnare una stringa ad una costante numerica. Per esempio:
#include <stdio.h>
#define Prova "Ciao"
void main () {
	printf("%s",Prova);
}
Così facendo ottengo in output la parola "Ciao" però assegnandola alla costante Prova. Quello che invece io voglio fare è assegnare, in questo caso, la parola "Ciao" ad un numero, come 0. Ho provato a fare in questo modo ma ottengo il seguente errore quando provo a compilare: [Error] macro names must be identifiers. Questo è il codice che ho provato:
#include <stdio.h>
#define 0 "Ciao"
void main () {
	printf("%s",0);
}

1 Risposte

  • Re: Dichiarazione array di caratteri come costanti

    Come giustamente ti ha fatto notare il compilatore, il nome delle macro (infatti la direttiva #define definisce una macro e non una costante vera e propria come quelle del C++) deve essere un identificatore (sono identificatori per esempio anche i nomi delle variabili e delle funzioni). Il problema è che gli identificatori devono seguire un modello ben preciso:

    "Ogni identificatore consiste di una sequenza di lettere (maiuscole o minuscole) e di cifre numeriche, senza caratteri di altro tipo o spazi bianchi (a parte l'underscore "_", che è considerato una lettera). Il primo carattere deve essere una lettera.
    Non sono validi gli identificatori che coincidono con le parole-chiave del linguaggio"
    .
Devi accedere o registrarti per scrivere nel forum
1 risposte