![]() |
|
|||||||
|
|
|
Share | LinkBack | Herramientas | Desplegado |
|
|
#1 |
|
Member
Fecha de Ingreso: septiembre-2009
Mensajes: 43
|
Hola que tal! tengo una pequeña duda que seguro que me ayudan :P
Como hago para pasar un vector a[n] como parametro por referencia en una funcion? he leido de varios libros pero lo unico que he conseguido son ejercicios con punteros (y a pesar que entiendo un poco todo, no termino de asimilarlo). jejejeje xD |
|
|
|
|
#2 | |
|
Moderador
Fecha de Ingreso: junio-2007
Mensajes: 1.764
|
Cita:
Código:
#include <stdio.h>
void imprimir(char cad[30])
{
printf("%c\n", cad[0]);
printf("%s\n", cad);
}
void main()
{
// n = 30
char a[30] = "Hola como estas";
imprimir(a);
}
Código:
#include <stdio.h>
void imprimir(char *cad)
{
char *p = cad;
printf("%c\n", *p++);
printf("%s\n", cad);
while(*cad != '\0')
printf("%c", *cad++);
printf("\n");
}
void main()
{
int n; // longitud
printf("ingrese Longitud de cadena:");
scanf("%d", &n);
fflush(stdin);
char *a = new char[n];
printf("ingrese palabra:");
//scanf("%s", a); // Sin espacios en blanco
scanf("%[^\n]", a); //Con espacios en blanco
fflush(stdin);
imprimir(a);
}
__________________
![]() |
|
|
|
|
|
#3 |
|
Member
Fecha de Ingreso: septiembre-2009
Mensajes: 43
|
Disculpa, quede en las mismas, como haría yo para hacer para llenar un arreglo de números enteros? el caso que me pusiste con caracteres, ya le habías agregado un valor. Yo lo que quiero es pasar el arreglo totalmente vacío y que me devuelva el arreglo con los valores resultantes de la función. Como tengo que definir los parámetros?
|
|
|
|
|
#4 |
|
Senior Member
Fecha de Ingreso: marzo-2007
Mensajes: 477
|
A ver, si lo que quieres tu es pasar un arreglo (con cantidad conocida de elementos) para ser llenado, es fácil:
Código:
void llenar_arreglo(int *arreglo)
{
int i;
for(i=0; i < TAMANIO_ARREGLO; i++){
arreglo[i] = i;
}
}
Código:
void crear_y_llenar_arreglo(int *arreglo, size_t cantidad)
{
arreglo = (int*)malloc(sizeof(int) * cantidad);
int i;
for(i=0; i < cantidad; ++i){
arreglo[i] = i;
}
}
Código:
void crear_y_llenar_arreglo(int **arreglo, size_t cantidad)
{
*arreglo = (int*)malloc(sizeof(int)* cantidad);
int i;
for(i=0; i < cantidad; ++i){
*arreglo[i] = i;
}
}
|
|
|
|
|
#5 |
|
Member
Fecha de Ingreso: septiembre-2009
Mensajes: 43
|
Ya consegui hacer lo que queria jejeje, me sirvio de mucho sus explicaciones, aunq tuve que leer como 17 veces el capitulo de arreglos del libro de deitel jejeje por fin el consegui entenderlo :P
Solucionado!!! |
|
|
![]() |
| Herramientas | |
| Desplegado | |
|
|