Con punteros

Anuncio
Punteros y Funciones
Rafael Palacios 2005
Sin punteros
Sin punteros
/* Programa para calcular el cubo de un número */
#include <stdio.h>
double Cubo(double a);
int main(void)
{
double x; /* número del cual calculamos el cubo */
double vol; /* resultado del cálculo */
printf("Dame un número: ");
Memoria
scanf("%lf", &x);
vol=Cubo(x);
printf("%f\n",vol);
return 0;
}
x
????
vol
????
Sin punteros
/* Programa para calcular el cubo de un número */
#include <stdio.h>
double Cubo(double a);
int main(void)
{
double x; /* número del cual calculamos el cubo */
double vol; /* resultado del cálculo */
printf("Dame un número: ");
Memoria
scanf("%lf", &x);
vol=Cubo(x);
printf("%f\n",vol);
return 0;
}
x
vol
7
????
Sin punteros
/* Programa para calcular el cubo de un número */
#include <stdio.h>
double Cubo(double a);
double Cubo(double a)
/* Calcula el cubo de un número
int main(void)
*/
{
double x; /* número del cual calculamos el cubo */
{
double vol; /* resultado del cálculo */
double res; /* resultado */
printf("Dame un número: ");
scanf("%lf", &x);
res = a * a * a;
vol=Cubo(x);
printf("%f\n",vol);
return res;
}
return 0;
}
Stack
Memoria
copia
x
vol
7
????
a
res
7
????
Sin punteros
/* Programa para calcular el cubo de un número */
#include <stdio.h>
double Cubo(double a);
double Cubo(double a)
/* Calcula el cubo de un número
int main(void)
*/
{
double x; /* número del cual calculamos el cubo */
{
double vol; /* resultado del cálculo */
double res; /* resultado */
printf("Dame un número: ");
scanf("%lf", &x);
res = a * a * a;
vol=Cubo(x);
printf("%f\n",vol);
return res;
}
return 0;
}
Stack
Memoria
x
vol
7
????
a
res
7
343
Sin punteros
/* Programa para calcular el cubo de un número */
#include <stdio.h>
double Cubo(double a);
double Cubo(double a)
/* Calcula el cubo de un número
int main(void)
*/
{
double x; /* número del cual calculamos el cubo */
{
double vol; /* resultado del cálculo */
double res; /* resultado */
printf("Dame un número: ");
scanf("%lf", &x);
vol=Cubo(x);
res = a * a * a;
343
printf("%f\n",vol);
return res;
}
return 0;
}
Stack
Memoria
x
vol
7
????
a
res
7
343
Sin punteros
/* Programa para calcular el cubo de un número */
#include <stdio.h>
double Cubo(double a);
double Cubo(double a)
/* Calcula el cubo de un número
int main(void)
*/
{
double x; /* número del cual calculamos el cubo */
{
double vol; /* resultado del cálculo */
double res; /* resultado */
printf("Dame un número: ");
scanf("%lf", &x);
vol=Cubo(x);
res = a * a * a;
343
printf("%f\n",vol);
return res;
}
return 0;
}
Stack
Memoria
x
vol
7
343
a
res
7
343
Con punteros
Con punteros
/* Programa para calcular el cubo */
#include <stdio.h>
void Cubo(double a, double *cu);
int main(void)
{
double x; /* número para el cálculo */
double vol; /* resultado del cálculo */
printf("Dame un número: ");
Memoria
scanf("%lf", &x);
Cubo( x, &vol );
printf("%f\n",vol);
2B50 x
????
3AF6 vol
????
return 0;
}
No se declaran punteros
en el main
Con punteros
/* Programa para calcular el cubo */
#include <stdio.h>
void Cubo(double a, double *cu);
int main(void)
{
double x; /* número para el cálculo */
double vol; /* resultado del cálculo */
printf("Dame un número: ");
Memoria
scanf("%lf", &x);
Cubo( x, &vol );
printf("%f\n",vol);
2B50 x
7
3AF6 vol
????
return 0;
}
No se declaran punteros
en el main
Con punteros
/* Programa para calcular el cubo */
#include <stdio.h>
void Cubo(double a, double *cu);
void Cubo(double a, double *cu)
/* Calcula el cubo de un número
int main(void)
*/
{
double x; /* número para el cálculo */
{
double vol; /* resultado del cálculo */
double res; /* resultado */
printf("Dame un número: ");
scanf("%lf", &x);
res = a * a * a;
Cubo( x, &vol );
printf("%f\n",vol);
*cu = res;
}
return 0;
}
Stack
Memoria
2B50 x
7
3AF6 vol
????
a
7
double
cu
3AF6
double*
res
????
double
Con punteros
/* Programa para calcular el cubo */
#include <stdio.h>
void Cubo(double a, double *cu);
void Cubo(double a, double *cu)
/* Calcula el cubo de un número
int main(void)
*/
{
double x; /* número para el cálculo */
{
double vol; /* resultado del cálculo */
double res; /* resultado */
printf("Dame un número: ");
scanf("%lf", &x);
res = a * a * a;
Cubo( x, &vol );
printf("%f\n",vol);
*cu = res;
}
return 0;
}
Stack
Memoria
2B50 x
7
3AF6 vol
????
a
7
cu
3AF6
res
????
Con punteros
/* Programa para calcular el cubo */
#include <stdio.h>
void Cubo(double a, double *cu);
void Cubo(double a, double *cu)
/* Calcula el cubo de un número
int main(void)
*/
{
double x; /* número para el cálculo */
{
double vol; /* resultado del cálculo */
double res; /* resultado */
printf("Dame un número: ");
scanf("%lf", &x);
res = a * a * a;
Cubo( x, &vol );
printf("%f\n",vol);
*cu = res;
}
return 0;
}
Stack
Memoria
2B50 x
7
3AF6 vol
????
a
7
cu
3AF6
res
343
Con punteros
/* Programa para calcular el cubo */
#include <stdio.h>
void Cubo(double a, double *cu);
void Cubo(double a, double *cu)
/* Calcula el cubo de un número
int main(void)
*/
{
double x; /* número para el cálculo */
{
double vol; /* resultado del cálculo */
double res; /* resultado */
printf("Dame un número: ");
scanf("%lf", &x);
res = a * a * a;
Cubo( x, &vol );
printf("%f\n",vol);
*cu = res;
}
return 0;
}
Stack
Memoria
2B50 x
7
3AF6 vol
343
a
7
cu
3AF6
res
343
Con punteros
/* Programa para calcular el cubo */
#include <stdio.h>
void Cubo(double a, double *cu);
void Cubo(double a, double *cu)
/* Calcula el cubo de un número
int main(void)
*/
{
double x; /* número para el cálculo */
{
double vol; /* resultado del cálculo */
double res; /* resultado */
printf("Dame un número: ");
scanf("%lf", &x);
res = a * a * a;
Cubo( x, &vol );
printf("%f\n",vol);
*cu = res;
}
return 0;
}
Stack
Memoria
2B50 x
7
3AF6 vol
343
a
7
cu
3AF6
res
343
Con punteros
/* Programa para calcular el cubo */
#include <stdio.h>
void Cubo(double a, double *cu);
int main(void)
{
double x; /* número para el cálculo */
double vol; /* resultado del cálculo */
printf("Dame un número: ");
scanf("%lf", &x);
Cubo( x, &vol );
printf("%f\n",vol);
return 0;
}
Memoria
2B50 x
7
3AF6 vol
343
Descargar