-
qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 13:54:00.0 alle 2008-02-17 13:54:00.0typedef struct Point { float x, y; } Punto;
typedef Punto Matrice[N][N];
perché chiamare la struttura sia Point sia Punto?-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 14:14:00.0 alle 2008-02-17 14:14:00.0
- Scritto da:
> typedef struct Point { float x, y; } Punto;
> typedef Punto Matrice[N][N];
>
>
> perché chiamare la struttura sia Point sia Punto?
perché chi l'ha scritto ignora la grammatica del C-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 14:29:00.0 alle 2008-02-17 14:29:00.0
- Scritto da:
>
> - Scritto da:
> > typedef struct Point { float x, y; } Punto;
> > typedef Punto Matrice[N][N];
> >
> >
> > perché chiamare la struttura sia Point sia
> Punto?
>
> perché chi l'ha scritto ignora la grammatica del C
Non credo, il codice funziona e ha un senso, ovvero di dichiarare la struttura Point anche col nome Punto.
Il problema è che siccome nelle dispense ho trovato più volte questa sintassi dichiarativa, ho l'impressione che il prof l'abbia imparata così com'è, e non si sia mai posto il problema di domandarsene il senso.
Forse avrebbe avuto più senso la seguente:
typedef struct Punto {float x,y} Matrice[N][N];-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 14:33:00.0 alle 2008-02-17 14:33:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > > typedef struct Point { float x, y; }
> Punto;
>
> > > typedef Punto Matrice[N][N];
> > >
> > >
> > > perché chiamare la struttura sia Point sia
> > Punto?
> >
> > perché chi l'ha scritto ignora la grammatica
> del
> C
>
>
> Non credo, il codice funziona e ha un senso,
> ovvero di dichiarare la struttura Point anche col
> nome
> Punto.
>
> Il problema è che siccome nelle dispense ho
> trovato più volte questa sintassi dichiarativa,
> ho l'impressione che il prof l'abbia imparata
> così com'è, e non si sia mai posto il problema di
> domandarsene il
> senso.
>
> Forse avrebbe avuto più senso la seguente:
> typedef struct Punto {float x,y}
> Matrice[N][N];
Ma così facendo non hai dichiarato la struttura Punto, che ti potrebbe essere utile in una funzione.-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:03:00.0 alle 2008-02-17 15:03:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > > typedef struct Point { float x, y; }
> > Punto;
> >
> > > > typedef Punto Matrice[N][N];
> > > >
> > > >
> > > > perché chiamare la struttura sia Point sia
> > > Punto?
> > >
> > > perché chi l'ha scritto ignora la grammatica
> > del
> > C
> >
> >
> > Non credo, il codice funziona e ha un senso,
> > ovvero di dichiarare la struttura Point anche
> col
> > nome
> > Punto.
> >
> > Il problema è che siccome nelle dispense ho
> > trovato più volte questa sintassi dichiarativa,
> > ho l'impressione che il prof l'abbia imparata
> > così com'è, e non si sia mai posto il problema
> di
> > domandarsene il
> > senso.
> >
> > Forse avrebbe avuto più senso la seguente:
> > typedef struct Punto {float x,y}
> > Matrice[N][N];
>
> Ma così facendo non hai dichiarato la struttura
> Punto, che ti potrebbe essere utile in una
> funzione.
non è vero, la struttura Punto risulta dichiarata, infatti poi posso scrivere
Punto Fiat; //ahahah quanto sono spiritoso.
Fiat.x=3,14;
Fiat.y=213;
e funziona.-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:07:00.0 alle 2008-02-17 15:07:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > > typedef struct Point { float x, y; }
> > > Punto;
> > >
> > > > > typedef Punto Matrice[N][N];
> > > > >
> > > > >
> > > > > perché chiamare la struttura sia Point sia
> > > > Punto?
> > > >
> > > > perché chi l'ha scritto ignora la grammatica
> > > del
> > > C
> > >
> > >
> > > Non credo, il codice funziona e ha un senso,
> > > ovvero di dichiarare la struttura Point anche
> > col
> > > nome
> > > Punto.
> > >
> > > Il problema è che siccome nelle dispense ho
> > > trovato più volte questa sintassi
> dichiarativa,
> > > ho l'impressione che il prof l'abbia imparata
> > > così com'è, e non si sia mai posto il problema
> > di
> > > domandarsene il
> > > senso.
> > >
> > > Forse avrebbe avuto più senso la seguente:
> > > typedef struct Punto {float x,y}
> > > Matrice[N][N];
> >
> > Ma così facendo non hai dichiarato la struttura
> > Punto, che ti potrebbe essere utile in una
> > funzione.
>
>
> non è vero, la struttura Punto risulta
> dichiarata, infatti poi posso
> scrivere
> Punto Fiat; //ahahah quanto sono spiritoso.
> Fiat.x=3,14;
> Fiat.y=213;
>
> e funziona.#define N 4 int main(int arg, char* argv[]) { typedef struct Punto {float x,y} Matrice[N][N]; Punto fiat; return 0; }
>gcc -c prova.c
prova.c: In function `main':
prova.c:5: warning: no semicolon at end of struct or union
prova.c:6: error: `Punto' undeclared (first use in this function)
prova.c:6: error: (Each undeclared identifier is reported only once
prova.c:6: error: for each function it appears in.)
prova.c:6: error: parse error before "fiat"
prova.c:9:2: warning: no newline at end of file
-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:17:00.0 alle 2008-02-17 15:17:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > > typedef struct Point { float x, y; }
> > > > Punto;
> > > >
> > > > > > typedef Punto Matrice[N][N];
> > > > > >
> > > > > >
> > > > > > perché chiamare la struttura sia Point
> sia
> > > > > Punto?
> > > > >
> > > > > perché chi l'ha scritto ignora la
> grammatica
> > > > del
> > > > C
> > > >
> > > >
> > > > Non credo, il codice funziona e ha un senso,
> > > > ovvero di dichiarare la struttura Point
> anche
> > > col
> > > > nome
> > > > Punto.
> > > >
> > > > Il problema è che siccome nelle dispense ho
> > > > trovato più volte questa sintassi
> > dichiarativa,
> > > > ho l'impressione che il prof l'abbia
> imparata
> > > > così com'è, e non si sia mai posto il
> problema
> > > di
> > > > domandarsene il
> > > > senso.
> > > >
> > > > Forse avrebbe avuto più senso la seguente:
> > > > typedef struct Punto {float x,y}
> > > > Matrice[N][N];
> > >
> > > Ma così facendo non hai dichiarato la
> struttura
> > > Punto, che ti potrebbe essere utile in una
> > > funzione.
> >
> >
> > non è vero, la struttura Punto risulta
> > dichiarata, infatti poi posso
> > scrivere
> > Punto Fiat; //ahahah quanto sono spiritoso.
> > Fiat.x=3,14;
> > Fiat.y=213;
> >
> > e funziona.
>
>
>#define N 4 > > int main(int arg, char* argv[]) > { > typedef struct Punto {float x,y} Matrice[N][N]; > Punto fiat; > > return 0; > }
>
> >gcc -c prova.c
> prova.c: In function `main':
> prova.c:5: warning: no semicolon at end of struct
> or
> union
> prova.c:6: error: `Punto' undeclared (first
> use in this
> function)
> prova.c:6: error: (Each undeclared identifier is
> reported only
> once
> prova.c:6: error: for each function it appears
> in.)
> prova.c:6: error: parse error before "fiat"
> prova.c:9:2: warning: no newline at end of file
#define N 4
int main(int arg, char* argv[])
{
typedef struct Punto {float x,y;} Matrice[N][N];
Punto fiat;
return 0;
}
avevo dimenticato un punto e virgola, riprova.-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:22:00.0 alle 2008-02-17 15:22:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > >
> > > > > > - Scritto da:
> > > > > > > typedef struct Point { float x,
> y;
> }
> > > > > Punto;
> > > > >
> > > > > > > typedef Punto Matrice[N][N];
> > > > > > >
> > > > > > >
> > > > > > > perché chiamare la struttura sia Point
> > sia
> > > > > > Punto?
> > > > > >
> > > > > > perché chi l'ha scritto ignora la
> > grammatica
> > > > > del
> > > > > C
> > > > >
> > > > >
> > > > > Non credo, il codice funziona e ha un
> senso,
> > > > > ovvero di dichiarare la struttura Point
> > anche
> > > > col
> > > > > nome
> > > > > Punto.
> > > > >
> > > > > Il problema è che siccome nelle dispense
> ho
> > > > > trovato più volte questa sintassi
> > > dichiarativa,
> > > > > ho l'impressione che il prof l'abbia
> > imparata
> > > > > così com'è, e non si sia mai posto il
> > problema
> > > > di
> > > > > domandarsene il
> > > > > senso.
> > > > >
> > > > > Forse avrebbe avuto più senso la seguente:
> > > > > typedef struct Punto {float x,y}
> > > > > Matrice[N][N];
> > > >
> > > > Ma così facendo non hai dichiarato la
> > struttura
> > > > Punto, che ti potrebbe essere utile in una
> > > > funzione.
> > >
> > >
> > > non è vero, la struttura Punto risulta
> > > dichiarata, infatti poi posso
> > > scrivere
> > > Punto Fiat; //ahahah quanto sono spiritoso.
> > > Fiat.x=3,14;
> > > Fiat.y=213;
> > >
> > > e funziona.
> >
> >
> >#define N 4 > > > > int main(int arg, char* argv[]) > > { > > typedef struct Punto {float x,y}> Matrice[N][N]; > > Punto fiat; > > > > return 0; > > }
> >
> > >gcc -c prova.c
> > prova.c: In function `main':
> > prova.c:5: warning: no semicolon at end of
> struct
> > or
> > union
> > prova.c:6: error: `Punto' undeclared (first
> > use in this
> > function)
> > prova.c:6: error: (Each undeclared identifier is
> > reported only
> > once
> > prova.c:6: error: for each function it appears
> > in.)
> > prova.c:6: error: parse error before "fiat"
> > prova.c:9:2: warning: no newline at end of file
>
> #define N 4
>
> int main(int arg, char* argv[])
> {
> typedef struct Punto {float x,y;}
> Matrice[N][N];
> Punto fiat;
>
> return 0;
> }
>
>
> avevo dimenticato un punto e virgola, riprova.
C:\DOCUME~1\lisio\Desktop>gcc -c prova.c
prova.c: In function `main':
prova.c:6: error: `Punto' undeclared (first use in this function)
prova.c:6: error: (Each undeclared identifier is reported only once
prova.c:6: error: for each function it appears in.)
prova.c:6: error: parse error before "fiat"
prova.c:9:2: warning: no newline at end of file-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:24:00.0 alle 2008-02-17 15:24:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > >
> > > > > > - Scritto da:
> > > > > > >
> > > > > > > - Scritto da:
> > > > > > > > typedef struct Point { float x,
> > y;
> > }
> > > > > > Punto;
> > > > > >
> > > > > > > > typedef Punto Matrice[N][N];
> > > > > > > >
> > > > > > > >
> > > > > > > > perché chiamare la struttura sia
> Point
> > > sia
> > > > > > > Punto?
> > > > > > >
> > > > > > > perché chi l'ha scritto ignora la
> > > grammatica
> > > > > > del
> > > > > > C
> > > > > >
> > > > > >
> > > > > > Non credo, il codice funziona e ha un
> > senso,
> > > > > > ovvero di dichiarare la struttura Point
> > > anche
> > > > > col
> > > > > > nome
> > > > > > Punto.
> > > > > >
> > > > > > Il problema è che siccome nelle dispense
> > ho
> > > > > > trovato più volte questa sintassi
> > > > dichiarativa,
> > > > > > ho l'impressione che il prof l'abbia
> > > imparata
> > > > > > così com'è, e non si sia mai posto il
> > > problema
> > > > > di
> > > > > > domandarsene il
> > > > > > senso.
> > > > > >
> > > > > > Forse avrebbe avuto più senso la
> seguente:
> > > > > > typedef struct Punto {float x,y}
> > > > > > Matrice[N][N];
> > > > >
> > > > > Ma così facendo non hai dichiarato la
> > > struttura
> > > > > Punto, che ti potrebbe essere utile in una
> > > > > funzione.
> > > >
> > > >
> > > > non è vero, la struttura Punto risulta
> > > > dichiarata, infatti poi posso
> > > > scrivere
> > > > Punto Fiat; //ahahah quanto sono spiritoso.
> > > > Fiat.x=3,14;
> > > > Fiat.y=213;
> > > >
> > > > e funziona.
> > >
> > >
> > >#define N 4 > > > > > > int main(int arg, char* argv[]) > > > { > > > typedef struct Punto {float x,y}> > Matrice[N][N]; > > > Punto fiat; > > > > > > return 0; > > > }
> > >
> > > >gcc -c prova.c
> > > prova.c: In function `main':
> > > prova.c:5: warning: no semicolon at end of
> > struct
> > > or
> > > union
> > > prova.c:6: error: `Punto' undeclared (first
> > > use in this
> > > function)
> > > prova.c:6: error: (Each undeclared identifier
> is
> > > reported only
> > > once
> > > prova.c:6: error: for each function it appears
> > > in.)
> > > prova.c:6: error: parse error before "fiat"
> > > prova.c:9:2: warning: no newline at end of
> file
> >
> > #define N 4
> >
> > int main(int arg, char* argv[])
> > {
> > typedef struct Punto {float x,y;}
> > Matrice[N][N];
> > Punto fiat;
> >
> > return 0;
> > }
> >
> >
> > avevo dimenticato un punto e virgola, riprova.
>
>
> C:\DOCUME~1\lisio\Desktop>gcc -c prova.c
> prova.c: In function `main':
> prova.c:6: error: `Punto' undeclared (first
> use in this
> function)
> prova.c:6: error: (Each undeclared identifier is
> reported only
> once
> prova.c:6: error: for each function it appears
> in.)
> prova.c:6: error: parse error before "fiat"
> prova.c:9:2: warning: no newline at end of file
non so che dirti, a me funziona.
ho usato sia il dev c++ sia il gcc che vi era incluso.
mò mi leggo il kerningam e vado a cercare se è standard ciò che ho fatto.-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:27:00.0 alle 2008-02-17 15:27:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > >
> > > > > > - Scritto da:
> > > > > > >
> > > > > > > - Scritto da:
> > > > > > > >
> > > > > > > > - Scritto da:
> > > > > > > > > typedef struct Point { float
> x,
> > > y;
> > > }
> > > > > > > Punto;
> > > > > > >
> > > > > > > > > typedef Punto Matrice[N][N];
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > perché chiamare la struttura sia
> > Point
> > > > sia
> > > > > > > > Punto?
> > > > > > > >
> > > > > > > > perché chi l'ha scritto ignora la
> > > > grammatica
> > > > > > > del
> > > > > > > C
> > > > > > >
> > > > > > >
> > > > > > > Non credo, il codice funziona e ha un
> > > senso,
> > > > > > > ovvero di dichiarare la struttura
> Point
> > > > anche
> > > > > > col
> > > > > > > nome
> > > > > > > Punto.
> > > > > > >
> > > > > > > Il problema è che siccome nelle
> dispense
> > > ho
> > > > > > > trovato più volte questa sintassi
> > > > > dichiarativa,
> > > > > > > ho l'impressione che il prof l'abbia
> > > > imparata
> > > > > > > così com'è, e non si sia mai posto il
> > > > problema
> > > > > > di
> > > > > > > domandarsene il
> > > > > > > senso.
> > > > > > >
> > > > > > > Forse avrebbe avuto più senso la
> > seguente:
> > > > > > > typedef struct Punto {float x,y}
> > > > > > > Matrice[N][N];
> > > > > >
> > > > > > Ma così facendo non hai dichiarato la
> > > > struttura
> > > > > > Punto, che ti potrebbe essere utile in
> una
> > > > > > funzione.
> > > > >
> > > > >
> > > > > non è vero, la struttura Punto risulta
> > > > > dichiarata, infatti poi posso
> > > > > scrivere
> > > > > Punto Fiat; //ahahah quanto sono
> spiritoso.
> > > > > Fiat.x=3,14;
> > > > > Fiat.y=213;
> > > > >
> > > > > e funziona.
> > > >
> > > >
> > > >#define N 4 > > > > > > > > int main(int arg, char* argv[]) > > > > { > > > > typedef struct Punto {float x,y}> > > Matrice[N][N]; > > > > Punto fiat; > > > > > > > > return 0; > > > > }
> > > >
> > > > >gcc -c prova.c
> > > > prova.c: In function `main':
> > > > prova.c:5: warning: no semicolon at end of
> > > struct
> > > > or
> > > > union
> > > > prova.c:6: error: `Punto' undeclared
> (first
> > > > use in this
> > > > function)
> > > > prova.c:6: error: (Each undeclared
> identifier
> > is
> > > > reported only
> > > > once
> > > > prova.c:6: error: for each function it
> appears
> > > > in.)
> > > > prova.c:6: error: parse error before "fiat"
> > > > prova.c:9:2: warning: no newline at end of
> > file
> > >
> > > #define N 4
> > >
> > > int main(int arg, char* argv[])
> > > {
> > > typedef struct Punto {float x,y;}
> > > Matrice[N][N];
> > > Punto fiat;
> > >
> > > return 0;
> > > }
> > >
> > >
> > > avevo dimenticato un punto e virgola, riprova.
> >
> >
> > C:\DOCUME~1\lisio\Desktop>gcc -c prova.c
> > prova.c: In function `main':
> > prova.c:6: error: `Punto' undeclared (first
> > use in this
> > function)
> > prova.c:6: error: (Each undeclared identifier is
> > reported only
> > once
> > prova.c:6: error: for each function it appears
> > in.)
> > prova.c:6: error: parse error before "fiat"
> > prova.c:9:2: warning: no newline at end of file
>
> non so che dirti, a me funziona.
> ho usato sia il dev c++ sia il gcc che vi era
> incluso.
> mò mi leggo il kerningam e vado a cercare se è
> standard ciò che ho
> fatto.
Più che il kernigam dovresti prendere qualche libro sui linguaggi di programmazione.-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:31:00.0 alle 2008-02-17 15:31:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > >
> > > > > > - Scritto da:
> > > > > > >
> > > > > > > - Scritto da:
> > > > > > > >
> > > > > > > > - Scritto da:
> > > > > > > > >
> > > > > > > > > - Scritto da:
> > > > > > > > > > typedef struct Point { float
> > x,
> > > > y;
> > > > }
> > > > > > > > Punto;
> > > > > > > >
> > > > > > > > > > typedef Punto Matrice[N][N];
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > perché chiamare la struttura sia
> > > Point
> > > > > sia
> > > > > > > > > Punto?
> > > > > > > > >
> > > > > > > > > perché chi l'ha scritto ignora la
> > > > > grammatica
> > > > > > > > del
> > > > > > > > C
> > > > > > > >
> > > > > > > >
> > > > > > > > Non credo, il codice funziona e ha
> un
> > > > senso,
> > > > > > > > ovvero di dichiarare la struttura
> > Point
> > > > > anche
> > > > > > > col
> > > > > > > > nome
> > > > > > > > Punto.
> > > > > > > >
> > > > > > > > Il problema è che siccome nelle
> > dispense
> > > > ho
> > > > > > > > trovato più volte questa sintassi
> > > > > > dichiarativa,
> > > > > > > > ho l'impressione che il prof l'abbia
> > > > > imparata
> > > > > > > > così com'è, e non si sia mai posto
> il
> > > > > problema
> > > > > > > di
> > > > > > > > domandarsene il
> > > > > > > > senso.
> > > > > > > >
> > > > > > > > Forse avrebbe avuto più senso la
> > > seguente:
> > > > > > > > typedef struct Punto {float x,y}
> > > > > > > > Matrice[N][N];
> > > > > > >
> > > > > > > Ma così facendo non hai dichiarato la
> > > > > struttura
> > > > > > > Punto, che ti potrebbe essere utile in
> > una
> > > > > > > funzione.
> > > > > >
> > > > > >
> > > > > > non è vero, la struttura Punto risulta
> > > > > > dichiarata, infatti poi posso
> > > > > > scrivere
> > > > > > Punto Fiat; //ahahah quanto sono
> > spiritoso.
> > > > > > Fiat.x=3,14;
> > > > > > Fiat.y=213;
> > > > > >
> > > > > > e funziona.
> > > > >
> > > > >
> > > > >#define N 4 > > > > > > > > > > int main(int arg, char* argv[]) > > > > > { > > > > > typedef struct Punto {float x,y}> > > > Matrice[N][N]; > > > > > Punto fiat; > > > > > > > > > > return 0; > > > > > }
> > > > >
> > > > > >gcc -c prova.c
> > > > > prova.c: In function `main':
> > > > > prova.c:5: warning: no semicolon at end of
> > > > struct
> > > > > or
> > > > > union
> > > > > prova.c:6: error: `Punto' undeclared
> > (first
> > > > > use in this
> > > > > function)
> > > > > prova.c:6: error: (Each undeclared
> > identifier
> > > is
> > > > > reported only
> > > > > once
> > > > > prova.c:6: error: for each function it
> > appears
> > > > > in.)
> > > > > prova.c:6: error: parse error before
> "fiat"
> > > > > prova.c:9:2: warning: no newline at end of
> > > file
> > > >
> > > > #define N 4
> > > >
> > > > int main(int arg, char* argv[])
> > > > {
> > > > typedef struct Punto {float x,y;}
> > > > Matrice[N][N];
> > > > Punto fiat;
> > > >
> > > > return 0;
> > > > }
> > > >
> > > >
> > > > avevo dimenticato un punto e virgola,
> riprova.
> > >
> > >
> > > C:\DOCUME~1\lisio\Desktop>gcc -c prova.c
> > > prova.c: In function `main':
> > > prova.c:6: error: `Punto' undeclared (first
> > > use in this
> > > function)
> > > prova.c:6: error: (Each undeclared identifier
> is
> > > reported only
> > > once
> > > prova.c:6: error: for each function it appears
> > > in.)
> > > prova.c:6: error: parse error before "fiat"
> > > prova.c:9:2: warning: no newline at end of
> file
> >
> > non so che dirti, a me funziona.
> > ho usato sia il dev c++ sia il gcc che vi era
> > incluso.
> > mò mi leggo il kerningam e vado a cercare se è
> > standard ciò che ho
> > fatto.
>
> Più che il kernigam dovresti prendere qualche
> libro sui linguaggi di
> programmazione.
che c'entra il kernigam è il manuale di c, questa è una questione puramente sintattica.
cmq è appurato che il compilatore non mi dà errori per qualche strana configurazione, però provando con#include <stdio.h> #define N 4 int main(int arg, char* argv[]) { typedef struct Punto {float x,y;} Matrice[N][N]; Punto fiat; fiat.x=N; fiat.y=fiat.x+N; printf("%d %d",fiat.x,fiat.y); return 0; }
ottengo risultati non corretti, quindi mi sto quasi convincendo che hai ragione.-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:34:00.0 alle 2008-02-17 15:34:00.0mai letto il kernigam, basta leggere un libro che spieghi la teoria dei linguaggi di programmazione, e nessun linguaggio (imperativo) può darti intoppi.
-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:40:00.0 alle 2008-02-17 15:40:00.0
- Scritto da:
> mai letto il kernigam, basta leggere un libro che
> spieghi la teoria dei linguaggi di
> programmazione, e nessun linguaggio (imperativo)
> può darti
> intoppi.
La sintassi prescinde dalla teoria dei linguaggi di programmazione. Posso pur crederti se tu mi dici di averla appresa a prove ed errori, ma se lo standard dice che la sintassi giusta è quella e non un'altra, non c'è nessuna teoria dietro che te lo possa spiegare.-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:45:00.0 alle 2008-02-17 15:45:00.0
- Scritto da:
>
> - Scritto da:
> > mai letto il kernigam, basta leggere un libro
> che
> > spieghi la teoria dei linguaggi di
> > programmazione, e nessun linguaggio (imperativo)
> > può darti
> > intoppi.
>
> La sintassi prescinde dalla teoria dei linguaggi
> di programmazione. Posso pur crederti se tu mi
> dici di averla appresa a prove ed errori, ma se
> lo standard dice che la sintassi giusta è quella
> e non un'altra, non c'è nessuna teoria dietro che
> te lo possa
> spiegare.
cmq per la cronaca il programma mi funziona con
typedef struct Point { float x, y; } Punto, Matrice[N][N];
avevo sbagliato i formattatori per la printf (%d invece che %f) e quindi mi veniva un risultato insolito.-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:59:00.0 alle 2008-02-17 15:59:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > > mai letto il kernigam, basta leggere un libro
> > che
> > > spieghi la teoria dei linguaggi di
> > > programmazione, e nessun linguaggio
> (imperativo)
> > > può darti
> > > intoppi.
> >
> > La sintassi prescinde dalla teoria dei linguaggi
> > di programmazione. Posso pur crederti se tu mi
> > dici di averla appresa a prove ed errori, ma se
> > lo standard dice che la sintassi giusta è quella
> > e non un'altra, non c'è nessuna teoria dietro
> che
> > te lo possa
> > spiegare.
>
>
> cmq per la cronaca il programma mi funziona con
> typedef struct Point { float x, y; } Punto,
> Matrice[N][N];
funziona, ma è uno stile che fa cagare!-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 16:03:00.0 alle 2008-02-17 16:03:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > > mai letto il kernigam, basta leggere un
> libro
> > > che
> > > > spieghi la teoria dei linguaggi di
> > > > programmazione, e nessun linguaggio
> > (imperativo)
> > > > può darti
> > > > intoppi.
> > >
> > > La sintassi prescinde dalla teoria dei
> linguaggi
> > > di programmazione. Posso pur crederti se tu mi
> > > dici di averla appresa a prove ed errori, ma
> se
> > > lo standard dice che la sintassi giusta è
> quella
> > > e non un'altra, non c'è nessuna teoria dietro
> > che
> > > te lo possa
> > > spiegare.
> >
> >
> > cmq per la cronaca il programma mi funziona con
> > typedef struct Point { float x, y; } Punto,
> > Matrice[N][N];
>
> funziona, ma è uno stile che fa cagare!
eh sono d'accordo con te!
-
-
-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:56:00.0 alle 2008-02-17 15:56:00.0
- Scritto da:
>
> - Scritto da:
> > mai letto il kernigam, basta leggere un libro
> che
> > spieghi la teoria dei linguaggi di
> > programmazione, e nessun linguaggio (imperativo)
> > può darti
> > intoppi.
>
> La sintassi prescinde dalla teoria dei linguaggi
> di programmazione. Posso pur crederti se tu mi
> dici di averla appresa a prove ed errori, ma se
> lo standard dice che la sintassi giusta è quella
> e non un'altra, non c'è nessuna teoria dietro che
> te lo possa
> spiegare.
Scommetto che non sai cosa è uno stack di attivazione.
-
-
-
-
-
-
-
-
-
-
-
Re: qual è il senso di questo codice?Scritto daavvelentaniCubicolarioil 2008-02-17 15:36:00.0 alle 2008-02-17 15:36:00.0Trollate totali: 18184
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > > typedef struct Point { float x, y; }
> Punto;
>
> > > typedef Punto Matrice[N][N];
> > >
> > >
> > > perché chiamare la struttura sia Point sia
> > Punto?
> >
> > perché chi l'ha scritto ignora la grammatica
> del
> C
>
>
> Non credo, il codice funziona e ha un senso,
> ovvero di dichiarare la struttura Point anche col
> nome
> Punto.
>
> Il problema è che siccome nelle dispense ho
> trovato più volte questa sintassi dichiarativa,
> ho l'impressione che il prof l'abbia imparata
> così com'è, e non si sia mai posto il problema di
> domandarsene il
> senso.
>
> Forse avrebbe avuto più senso la seguente:
> typedef struct Punto {float x,y}
> Matrice[N][N];
Devi togliere il typedef.
Il motivo del codice all'inizio e` una faccenda di namespaces e di compatibilita` con il C++. Ma sinceramente fa piuttosto schifo.I think happiness is love
- Vladimir Putin-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:46:00.0 alle 2008-02-17 15:46:00.0
- Scritto da: avvelentani
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > > typedef struct Point { float x, y; }
> > Punto;
> >
> > > > typedef Punto Matrice[N][N];
> > > >
> > > >
> > > > perché chiamare la struttura sia Point sia
> > > Punto?
> > >
> > > perché chi l'ha scritto ignora la grammatica
> > del
> > C
> >
> >
> > Non credo, il codice funziona e ha un senso,
> > ovvero di dichiarare la struttura Point anche
> col
> > nome
> > Punto.
> >
> > Il problema è che siccome nelle dispense ho
> > trovato più volte questa sintassi dichiarativa,
> > ho l'impressione che il prof l'abbia imparata
> > così com'è, e non si sia mai posto il problema
> di
> > domandarsene il
> > senso.
> >
> > Forse avrebbe avuto più senso la seguente:
> > typedef struct Punto {float x,y}
> > Matrice[N][N];
>
> Devi togliere il typedef.
> Il motivo del codice all'inizio e` una faccenda
> di namespaces e di compatibilita` con il C++. Ma
> sinceramente fa piuttosto
> schifo.
Va bene, l'importante è che abbia un senso.
E cmq non è la prima volta che la compatibilità è cagione di schifezze, né sarà l'ultima.
-
Re: qual è il senso di questo codice?Scritto daNon Autenticatoil 2008-02-17 15:47:00.0 alle 2008-02-17 15:47:00.0
- Scritto da: avvelentani
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > > typedef struct Point { float x, y; }
> > Punto;
> >
> > > > typedef Punto Matrice[N][N];
> > > >
> > > >
> > > > perché chiamare la struttura sia Point sia
> > > Punto?
> > >
> > > perché chi l'ha scritto ignora la grammatica
> > del
> > C
> >
> >
> > Non credo, il codice funziona e ha un senso,
> > ovvero di dichiarare la struttura Point anche
> col
> > nome
> > Punto.
> >
> > Il problema è che siccome nelle dispense ho
> > trovato più volte questa sintassi dichiarativa,
> > ho l'impressione che il prof l'abbia imparata
> > così com'è, e non si sia mai posto il problema
> di
> > domandarsene il
> > senso.
> >
> > Forse avrebbe avuto più senso la seguente:
> > typedef struct Punto {float x,y}
> > Matrice[N][N];
>
> Devi togliere il typedef.
Senza typedef non funziona.-
Re: qual è il senso di questo codice?Scritto daavvelentaniCubicolarioil 2008-02-17 16:54:00.0 alle 2008-02-17 16:54:00.0Trollate totali: 18184
- Scritto da:
> >
> > Devi togliere il typedef.
>
> Senza typedef non funziona.
Ah... ma Matrice era un tipo. Scusa mi stavo segando ed ero distratto. Si`, quello che hai scritto e` corretto.I think happiness is love
- Vladimir Putin
-
-
-
-
-