Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Dano1952 en 9 Junio 2018, 19:41 pm



Título: Tabla con punteros.
Publicado por: Dano1952 en 9 Junio 2018, 19:41 pm
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.

Código
  1. int arr[COL], i, j;
  2. int (*pm)[REN] = (int(*)[REN]) &arr;

Lo que sigue lo implemente yo y parece que funciona correctamente.-
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define REN 3
  5. #define COL 20
  6.  
  7. int main(int argc, char *argv[]){
  8. int arr[COL], i, j;
  9. int (*pm)[REN] = (int(*)[REN]) &arr;
  10.  
  11. for ( i=0; i<REN; i++ ){
  12. for ( j=0; j<COL; j++ ){
  13. *(*(pm+COL)+REN) = 2;
  14. }
  15. }
  16.  
  17. for ( i=0; i<REN; i++ ){
  18. for ( j=0; j<COL; j++ ){
  19. printf ( "%d ", *(*(pm+COL)+REN) );
  20. }
  21. printf ( "\n" );
  22. }
  23.  
  24. return 0;
  25. }
Saludos y buen Sábado.


Título: Re: Tabla con punteros.
Publicado por: MAFUS en 9 Junio 2018, 21:49 pm
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