Dev - C++ - * y mas *** ... & y mas &&&

 
Vista:

* y mas *** ... & y mas &&&

Publicado por Alberto (4 intervenciones) el 19/05/2002 02:38:18
Amigos:
1. Alguien podria explicarme cual es la diferencia entre:

char** pArreglo
char **pArregloB
char* pArreglo
char *pArregloB

2. Y otra pregunta al declarar un arreglo:
int *Arreglo y si lo quiero pasar a una funcion (por referencia) deberia hacerlo de la sgte forma?

function(Arreglo)...
...

void funcion(&Arreglo)...

3. La ultima... el uso de &....
es posible hacer(aunque nunca he visto) &&Arreglo???

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:* y mas *** ... & y mas &&&

Publicado por kansao (2 intervenciones) el 20/05/2002 12:08:22
1.

La declaración "char *a" y "char* a" son equivalentes. Con el puntero doble es exactamente lo mismo.

La diferencia entre "char *a" y "char **a":

a) char a es una dirección de memoria donde se encuentra un valor de tipo char.
b) char *a es un puntero a una dirección de memoria donde se encontrará un valor de tipo char.
c) char **a es un puntero a una dirección de memoria que contendrá punteros a direcciones de memoria donde se encontrarán valores de tipo char

2. El paso por referencia en c++ lo puedes hacer de dos formas:

a)
int *a;
funcion (a);
...
void funcion(int *a){}

b)
int *a;
funcion(*a);
...
void funcion(int &a){}

Si no tienes punteros sería como sigue:
a)
int a;
funcion (&a);
...
void funcion(int *a);

b)
int a;
funcion (a);
...
funcion (int &a);

3.
Es posible hacerlo, pero cuidado a dónde apuntas!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:* y mas *** ... & y mas &&&

Publicado por chuidiang (17 intervenciones) el 21/05/2002 05:00:52
char *Cadena es un puntero a caracter. Te puede servir para apuntar a una cadena de caracteres (un array de char)
char **Cadena es un puntero a puntero a caracter. Te puede servir para apuntar a un arrray de punteros a char, es decir a un array de cadenas de caracteres.

Pasar por referencia es pasar la variable en si misma (el puntero en tu caso). En el siguiente ejemplo
void funcion (int &a)
{
}

int b;
funcion (b);

a y b son exactamente la misma variable, pero con distinto nombre. Si cambias una, cambia la otra. No tiene sentido, por tanto
void funcion (&&a)
ya que con uno basta para que sean la misma variable.

Se bueno
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar