Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Tabla de punteros

Estas en el tema de Tabla de punteros en el foro de C/C++ en Foros del Web. Tengo un problemillla con un ejercicio, tengo 3 tablas; int t2[2], int t4[4], int t6[6]. Y luego una quarta tabla t[3] donde las 3 casillas ...
  #1 (permalink)  
Antiguo 09/10/2011, 04:03
 
Fecha de Ingreso: septiembre-2011
Mensajes: 87
Antigüedad: 12 años, 7 meses
Puntos: 6
Tabla de punteros

Tengo un problemillla con un ejercicio, tengo 3 tablas; int t2[2], int t4[4], int t6[6]. Y luego una quarta tabla t[3] donde las 3 casillas apuntan a las tablas, ej: t[0]=t2.

**************************************************
#include<stdio.h>
#include<conio.h>

void main(){

int t2[2], t4[4], t6[6];
int *t[3];

*t=t2; // es igual a t[0]=t2
*(t+1)=t4; // es igual a t[1]=t4
*(t+2)=t6; // es igual a t[2]=t6


printf("Taula t2\n");
**t=2; // es igual a *t[0]=2;
*(*t+1)=4; // editado por mi, asi seria asignarle a la segunda posicion de t2.
printf("%d\n", t2[0]);
printf("%d\n", t2[1]);
printf("\n");

printf("Taula t4\n");
**(t+1)=2; // es igual a *t[1]=2;
printf("%d\n", t4[0]);
printf("\n");

printf("Taula t6\n");
**(t+2)=2; // es igual a *t[2]=2;
printf("%d", t6[0]);
printf("\n");
//**t[1]=2;
}
********************************************

El problemilla que tengo es que no se pasar a la segunda posicion de las 3 tablas a partir de t. Se asignar valores a las primeras posiciones de las tablas t2,t4 y t6 desde t, pero no a las segundas posiciones.

Gracias de antemano!!!.

Última edición por joanan46; 09/10/2011 a las 05:16
  #2 (permalink)  
Antiguo 10/10/2011, 02:46
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 12 años, 6 meses
Puntos: 7
Respuesta: Tabla de punteros

Aquí la solución... Saludos

Código:
#include<stdio.h>
#include<conio.h>

int main(){

int t2[2], t4[4], t6[6];
int *t[3];

*t=t2; // es igual a t[0]=t2
*(t+1)=t4; // es igual a t[1]=t4
*(t+2)=t6; // es igual a t[2]=t6


printf("Tabla t2\n");
*(*(t+0)+0)=1; // es igual a *t[0]=1;
*(*(t+0)+1)=2; // es igual a *(t[0]+1)=2;
printf("%d\n", t2[0]);
printf("%d\n", t2[1]);
printf("\n");

printf("Tabla t4\n");
*(*(t+1)+0)=3; // es igual a *t[1]=3;
*(*(t+1)+1)=4; // es igual a *(t[1]+1)=4;
*(*(t+1)+2)=5; // es igual a *(t[1]+2)=5;
*(*(t+1)+3)=6; // es igual a *(t[1]+3)=6;
printf("%d\n", t4[0]);
printf("%d\n", t4[1]);
printf("%d\n", t4[2]);
printf("%d\n", t4[3]);
printf("\n");

printf("Tabla t6\n");
*(*(t+2)+0)=7; // es igual a *t[2]=7;
*(*(t+2)+1)=8; // es igual a *(t[2]+1)=8;
*(*(t+2)+2)=9; // es igual a *(t[2]+2)=9;
*(*(t+2)+3)=10; // es igual a *(t[2]+3)=10;
*(*(t+2)+4)=11; // es igual a *(t[2]+4)=11;
*(*(t+2)+5)=12; // es igual a *(t[2]+5)=12;
printf("%d\n", t6[0]);
printf("%d\n", t6[1]);
printf("%d\n", t6[2]);
printf("%d\n", t6[3]);
printf("%d\n", t6[4]);
printf("%d\n", t6[5]);
printf("\n");
}

Etiquetas: punteros, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:02.