I puntatori utilizzati in un programma del linguaggio utente sono:
| [ ] | Parentesi |
| ( ) | Parentesi |
| { } | Controventi |
| , | Virgola |
| ; | Punto e virgola |
| : | Due punti |
| = | Segno di uguale |
In un programma ULP vengono utilizzati anche caratteri speciali come operatori.
Le parentesi quadre vengono utilizzate nelle definizioni degli array
int ai[];
, nei subscript di array
n = ai[2];
e nei pedici di stringhe per accedere ai singoli caratteri di una stringa.
string s = "Hello world";
char c = s[2];Le parentesi raggruppano le espressioni (modificando eventualmente la priorità degli operatori normali), isolano le espressioni condizionali e indicano le chiamate di funzione e i parametri di funzione:
d = c * (a + b);
if (d == z) ++x;
func();
void func2(int n) { ... }Le parentesi graffe indicano l'inizio e la fine di un'istruzione composta:
if (d == z) {
++x;
func();
}E vengono inoltre utilizzate per raggruppare i valori di un inizializzatore degli array:
int ai[] = { 1, 2, 3 };
La virgola separa gli elementi di un elenco di argomenti di funzione o i parametri di una chiamata di funzione:
int func(int n, real r, string s) { ... }
int i = func(1, 3.14, "abc");Inoltre, delimita i valori di un inizializzatore di array:
int ai[] = { 1, 2, 3 };
Infine, separa gli elementi della definizione di una variabile:
int i, j, k;
Il punto e virgola termina un'istruzione, come in
i = a + b;
Inoltre, consente di delimitare le espressioni di init, test e incremento di un'istruzione for:
for (int n = 0; n < 3; ++n) {
func(n);
}I due punti indicano la fine di un'etichetta in un'istruzione switch:
switch (c) {
case 'a': printf("It was an 'a'\n"); break;
case 'b': printf("It was a 'b'\n"); break;
default: printf("none of them\n");
}Il segno di uguale separa le definizioni delle variabili dagli elenchi di inizializzazione:
int i = 10;
char c[] = { 'a', 'b', 'c' };Viene inoltre utilizzato come operatore di assegnazione.