Signos de puntuación

Los signos de puntuación utilizados en un programa de idioma de usuario son:

[ ] Corchetes
( ) Paréntesis
{ } Llaves
, Coma
; Punto y coma
: Dos puntos
= Signo igual

Otros caracteres especiales se utilizan como operadores en un ULP.

Corchetes

Los corchetes se utilizan en las definiciones de matriz

int ai[];

en subíndices de matriz

n = ai[2];

y en subíndices de cadena para acceder a los caracteres individuales de una cadena

string s = "Hello world";
char c = s[2];

Paréntesis

Entre paréntesis, se incluyen expresiones de grupo (posiblemente modificando la prioridad normal del operador), se aíslan expresiones condicionales e indican llamadas a funciones y parámetros de función:

d = c * (a + b);
if (d == z) ++x;
func();
void func2(int n) { ... }

Llaves

Las llaves indican el inicio y el final de una sentencia compuesta:

if (d == z) {
   ++x;
   func();
   }

y también se utilizan para agrupar los valores de un iniciador de matriz:

int ai[] = { 1, 2, 3 };

Coma

La coma separa los elementos de una lista de argumentos de función o los parámetros de una llamada de función:

int func(int n, real r, string s) { ... }
int i = func(1, 3.14, "abc");

También delimita los valores de un iniciador de matriz:

int ai[] = { 1, 2, 3 };

y separa los elementos de una definición de variable:

int i, j, k;

Punto y coma

El punto y coma termina una sentencia, como en

i = a + b;

y también delimita las expresiones init, test e increment de una sentencia for:

for (int n = 0; n < 3; ++n) {
    func(n);
    }

Dos puntos

Los dos puntos indican el final de una etiqueta en una sentencia 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");
  }

Signo igual

El signo igual separa las definiciones de variables de las listas de inicio:

int i = 10;
char c[] = { 'a', 'b', 'c' };

También se utiliza como operador de asignación.