Tabla con punteros.

Iniciado por Dano1952, 9 Junio 2018, 19:41 PM

0 Miembros y 1 Visitante están viendo este tema.

Dano1952

Hola, buen día.
Encontré esto en unos apuntes y no se como llamarlo, se me antoja una tabla de 3 x 20 con puntero pero me gustaría que alguien me diga si es lo correcto, o cual es la definición correspondiente.

int arr[COL], i, j;
int (*pm)[REN] = (int(*)[REN]) &arr;


Lo que sigue lo implemente yo y parece que funciona correctamente.-
#include <stdio.h>
#include <stdlib.h>

#define REN 3
#define COL 20

int main(int argc, char *argv[]){
int arr[COL], i, j;
int (*pm)[REN] = (int(*)[REN]) &arr;

for ( i=0; i<REN; i++ ){
for ( j=0; j<COL; j++ ){
*(*(pm+COL)+REN) = 2;
}
}

for ( i=0; i<REN; i++ ){
for ( j=0; j<COL; j++ ){
printf ( "%d ", *(*(pm+COL)+REN) );
}
printf ( "\n" );
}

return 0;
}

Saludos y buen Sábado.

MAFUS

pm es un puntero a arrays de REN elementos de tipo int. Es decir, cada vez que crezca en uno saltará REN*sizeof(int) bytes