Difference between revisions of "Prin C ples"
Jump to navigation
Jump to search
m |
m |
||
Line 2: | Line 2: | ||
* un programma è sintatticamente una collezione di funzioni. Tutto ciò che e ''dentro'' è locale, ciò che è fuori è ''globale'' | * un programma è sintatticamente una collezione di funzioni. Tutto ciò che e ''dentro'' è locale, ciò che è fuori è ''globale'' | ||
* gli argomenti delle funzioni sono sempre passati per valore (ma si pu passare per valore l'indirizzo di una variabile, i.e. il suo puntatore) | * gli argomenti delle funzioni sono sempre passati per valore (ma si pu passare per valore l'indirizzo di una variabile, i.e. il suo puntatore) | ||
− | * un vettore (array) di elementi di tipo T ha il ruolo sintattico di una '''costante''' di tipo * | + | * un vettore (array) di elementi di tipo T ha il ruolo sintattico di una '''costante''' di tipo T* cioé puntatore a T |
* durante la valutazione delle i espressioni, quando occorre fare una operazione fra due operandi di tipo diverso quello di tipo ''meno importante''viene convertito (promosso) al tipo dell'altro operando. La sequenza dell' ''importanza'' dei tipi (da quello meno a quello più importante è: ''char, short, unsigned short, int, unsigned, long, unsigned long, float double, long double''. | * durante la valutazione delle i espressioni, quando occorre fare una operazione fra due operandi di tipo diverso quello di tipo ''meno importante''viene convertito (promosso) al tipo dell'altro operando. La sequenza dell' ''importanza'' dei tipi (da quello meno a quello più importante è: ''char, short, unsigned short, int, unsigned, long, unsigned long, float double, long double''. | ||
* se p è un puntatore e i è un intero: p[i] è semplicemente una abbreviazione di *(p+i) | * se p è un puntatore e i è un intero: p[i] è semplicemente una abbreviazione di *(p+i) |
Revision as of 10:50, 28 September 2018
- il punto e virgola (;) è il terminatore: trasforma espressioni in istruzioni
- un programma è sintatticamente una collezione di funzioni. Tutto ciò che e dentro è locale, ciò che è fuori è globale
- gli argomenti delle funzioni sono sempre passati per valore (ma si pu passare per valore l'indirizzo di una variabile, i.e. il suo puntatore)
- un vettore (array) di elementi di tipo T ha il ruolo sintattico di una costante di tipo T* cioé puntatore a T
- durante la valutazione delle i espressioni, quando occorre fare una operazione fra due operandi di tipo diverso quello di tipo meno importanteviene convertito (promosso) al tipo dell'altro operando. La sequenza dell' importanza dei tipi (da quello meno a quello più importante è: char, short, unsigned short, int, unsigned, long, unsigned long, float double, long double.
- se p è un puntatore e i è un intero: p[i] è semplicemente una abbreviazione di *(p+i)
- se p è un puntatore ad una struttura p->f significa (*p).f
- for (a; b; c) S significa a; while (b) {S; C;}
- enum è un int, (è solo uno strumento sintattico per scrivere programmi leggibili)
- togliendo le parentesi si ottiene un puntatore: se v[i] è di tipo T, v è di tipo T*. Se f e' una funzione, f seguita dagli argomenti fra parentesi tonde indica la chiamata della funzione mentre f da solo è il puntatore alla funzione.