Ver Mensaje Individual
  #4  
Antiguo 24-02-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código:
pcm[_1] = pcm+1024
Me imagino que pcm[_1] está equivocado y que pones pcm_[1].

En C, puedes hacer la asignación como propones, después del tiempo de declaración. Da lo mismo.

En Delphi probablemente el problema lo tienes en la aritmética de punteros. En C los punteros los sumas o restas tranquilamente. puedes sumar a un puntero un int significando que ahora apunta a p+int posición.

No se mucho de pascal, pero creo que la aritmética de punteros no es tan directa como en C. o necesitarás una sintaxis especial. Investiga el tema.

EDITO:

La artimetica de punteros en C es sensible al tipo. No es lo mismo:
Código:
char *C;
int *I;

(char*)(C+2) != (char*)(I+2);
La suma de un entero a un puntero equivale a sumar posiciones al puntero, no a su valor. Asi:
Código:
int *I;
int *N = I+2;
*N == I[2];  //El valor de N equivale al tercer elemento del array I;
Saludos.

Última edición por escafandra fecha: 26-02-2008 a las 14:23:13. Razón: Aclaracion aritmetica de punteros
Responder Con Cita