smalldragon ha scritto:
La questione è come evitare una teorica collisione tra due variabili puntatore o che una variabile puntatore travolga un altra povera variabile di altro tipo.
esempio che in pratica non serve a nulla ma che in teoria potrebbe causare il problema da me citato.
int c,d;c=0;d=0;
char *a;
char *b;
int e;
for (c=0;c<999;c++)
{
d=pow(c,c);
a[d]='a';
}
In questo tuo esempio non usi mai il puntatore b quindi non capisco cosa c'entri. Comunque, scrivi casualmente in memoria, dato che non hai allocato spazio dinamicamente per il puntatore a. E ovviamente potrai avere un crash.
Questo tipo di programmazione è sbagliata, ovviamente, ma è compito del programmatore evitare queste "schifezze".
Ma, ripeto, è un po' come l'Assembly, con cui puoi scrivere cose del genere senza problemi. E non mi pare tu abbia mai avuto problemi del genere.