/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

ConsultaPunteros

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Oscar18457



Registrado: 22 Ago 2007
Mensajes: 13
Ubicación: Chile

MensajePublicado: 31/08/2007 5:46 am
Título: ConsultaPunteros

Buenos días, por favor alguien puede aclarar la siguiente duda: el tema es de punteros.
He aprendido, que el nombre de un arreglo actúa como puntero al primer valor de él.
de esta manera porque si lista[], es un arreglo , debo declarar en la función
scanf(“ “,&lista[n]) y no scanf(“ “,lista[]).
Gracias, desde ya.

#include <stdio.h>
#include <conio.h>
#include <math.h>
#define VERDADERO 1
int main()
{

const max=20;
char respuesta='s';
int n,j,n_pares,n_impares,lista[max],pares[max],impares[max],cambio;
n=0;
n_pares=0;
n_impares=0;

while ((n < max) || (cambio==VERDADERO) )
{
printf("Dato Num, %d \n",n);
scanf("%d",&lista[n]);
_________________
oa
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3657
Ubicación: Mexico

MensajePublicado: 31/08/2007 6:51 am
Título: Re: ConsultaPunteros

Oscar18457 escribió:
He aprendido que el nombre de un arreglo actúa como puntero al primer valor de él.

Salvo ciertas excepciones el nombre de un array es una expresion y resulta en un puntero del tipo correcto apuntando al primer elemento del array, utilizar "array" y "&array[0]" es equivalente (lease lo mismo).

Hay varias discusiones sobre esto en la base de datos de los foros, si te interesa solo tienes que utilizar el motor de busqueda de estos foros.

Oscar18457 escribió:
de esta manera porque si lista[], es un arreglo , debo declarar en la función scanf(“ “,&lista[n]) y no scanf(“ “,lista[]).

Aqui no entiendo muy bien a que te refieres ya que revisando el fragmento de codigo que publicaste este es correcto, al menos en lo que se refiere a la llamada a scanf:
Código:
/* ... */

while ((n < max) || (cambio==VERDADERO)){
   printf("Dato Num, %d \n", n);
   scanf("%d", &lista[n]);[/quote]

/* ... */

En esa llamada utilizas de forma correcta "&lista[n]", otra forma de indicar la direccion en memoria del elemento "n" del array "lista" es simplemente "lista + n".

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
Oscar18457



Registrado: 22 Ago 2007
Mensajes: 13
Ubicación: Chile

MensajePublicado: 31/08/2007 8:02 am
Título: Re: ConsultaPunteros

Gracias por la respuesta seguiré profundizando el tema
_________________
oa
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com