Hola, que tengan un muy buen día. -
Continuo con mis dudas pero ante quiero efectuar una aclaración, si consideran que esto de preguntar y preguntar, y no recurrir a un manual a buscar por mí mismo y piensan que eso es lo que debo hacer, todo ben, yo tengo mi criterio formado del porqué continuamente recurro a Uds. para evacuar mis dudas, en definitiva, si este post no tuviera respuesta lo entendería perfectamente y si me pegaran una bofetada psicológica también. -
Dicho esto pasa a consultarles sobre mis dudas.
Intento pasar el ingreso de los datos a una función y tengo (aparentemente) un solo error y esta en la siguiente linea. -
ptrFrases = ingreso( frases );
ayp.c:10:2: error: invalid operands to binary & (have ‘int’ and ‘char **’)
Y la pregunta del millón, porque debo utilizar doble apuntador, tengo claro que lo que contiene la variable apuntador es una dirección de memoria y que un doble apuntador contiene la dirección de memoria de otro puntero. -
#include <stdio.h>
#include <stdlib.h>
char ingreso( char **frases );
int main( void ){
char **frases=NULL, **ptrFrases=NULL;
size_t i = 0
ptrFrases = ingreso( frases );
while(i < 5){
printf( "\n Frases Ingresadas....: %s", ptrFrases
[i
] ); i++;
}
return 0;
}
char ingreso( char **frases ){
size_t i=0;
while(i < 5){
i++;
frases
= (char**)realloc( frases
, i
* sizeof(char*) ); printf( "\n Ingrese frase....:" ); fgets( frases
[i
-1], 20, stdin
); }
return **frases;
}
Los dobles punteros son lo que no puedo interpretar, por lo menos en este caso. -
Saludos.