[C con Clase] duda sobre punteros

Davidson, Steven srd4121 en njit.edu
Mie Jul 27 06:36:23 CEST 2016


Hola Gerardo,

La razón parte de la representación del nombre de un array, el cual ES una
dirección de memoria. Cuando escribimos 'vString', realmente se reemplaza
por una dirección de memoria. Por esta razón, no usamos el operador
unitario &, mientras que para las variables, 'suma' y 'mult' definidas en
'main()', sí requieren el uso del operador, porque se necesita conseguir
sus direcciones de memoria.

Dicho lo anterior, es razonable que exista una relación entre punteros y
arrays.


Espero haber aclarado la duda.

Steven


2016-07-26 16:41 GMT-04:00 Gerardo <gerromell en gmail.com>:

> Hola.
>
>
> Mi duda reside en las llamadas a las dos funciones, no entiendo por que en
> el programa de la cadena el arguemento no usa '&' mientras k en el programa
> que suma y multiplica si, gracias de antemano.
>
> /*#include <iostream>
> using namespace std;
>
> int lengthCharString(char *cString);
>
> int main() {
>
>     char vString[]="madre mia";
>     cout << lengthCharString(vString) << endl;
>    return 0;
> }
>
> int lengthCharString(char *cString) {
>
>     int length=0;
>
>     while(*cString!=0) {
>
>         cString++;
>         length++;
>     }
>     return length;
> }*/
>
>
>
> #include<stdio.h>
>
>
> void Funcion (int *suma, int *mult);
>
> int main()
>
> {
>
> int suma,mult;
>
> Funcion(&suma, &mult);
>
> printf("%d\n",suma);
>
> printf("%d\n",mult);
>
> return 0;
>
> }
>
> void Funcion (int *suma, int *mult)
>
> {
>
> int a, b;
>
> scanf("%d",&a);
>
> scanf("%d",&b);
>
> *suma=(a)+(b);
>
> *mult=(a)*(b);
>
> }
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20160727/368b8a2a/attachment-0001.html>


Más información sobre la lista de distribución Cconclase