FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Explicación declaración
Os dejo una duda facilita, se trata de una declaración que no me queda muy clara que vi en un código, a ver si me podéis interpretar qué significa:
Cita:
Cita:
No sé por qué mete en una posición del array de punteros el valor pcm, si es a su vez un array de enteros, cuando sólo podría asignarle enteros. |
#2
|
||||
|
||||
Si. pcm_ es un array de punteros a int de dimensión 2.
Hace la asignación directa. Primer valor pcm. que es un array de 1024 enteros. Como quiere tener dos arrays consecutivos de 1024 int la asignación la hace asi. Primer elemento pcm_[0] = pcm. Segundo pcm[_1] = pcm+1024. Este tipo de asignaciones directas en C++ Código:
static Integer *pcm_[2] = { pcm, pcm+1024 }; static Integer *pcm_[2] = { pcm, pcm+1024 }; no se refiere al elemneto[2] sino es la "declaración - asignación directa". Por otro lado [2] no puede existir (solo se declara tamaño 2). Saludos. Última edición por escafandra fecha: 24-02-2008 a las 14:12:30. |
#3
|
||||
|
||||
Muchas gracias Escafandra, m eha sido muy útil la aclaración, yo no estaba seguro. Aún así me encuentro con un problema, y es que, si bien está aclarado que podría asignar el primer elemento así:
Cita:
Cita:
|
#4
|
||||
|
||||
Código:
pcm[_1] = pcm+1024 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); Código:
int *I; int *N = I+2; *N == I[2]; //El valor de N equivale al tercer elemento del array I; Última edición por escafandra fecha: 26-02-2008 a las 14:23:13. Razón: Aclaracion aritmetica de punteros |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
explicacion acerca del registro | CFPA86 | Varios | 1 | 19-01-2008 17:59:44 |
Necesito una pequeña explicacion | b3nshi | Varios | 2 | 20-08-2007 03:20:17 |
Una pequeña explicacion!! | magnu9 | SQL | 3 | 11-12-2006 11:05:00 |
Breve explicacion de uso de PHP | valera | Internet | 2 | 24-01-2006 23:17:17 |
Explicacion del DBlookUpCamboBox | MRSAM | Conexión con bases de datos | 2 | 14-12-2004 16:57:37 |
|