Cachorro
2006-03-08 13:13:31 UTC
Hola buenas.
Haciendo un programa, me surgió una duda, era como pasar un puntero por
referencia, en c++ se hacerlo pero en c se me esta resistiendo.....
a ver que tengo mal por ahí :)
Un Saludo Cachorro
=================================
en c
=================================
#include <stdlib.h>
#include <stdio.h>
void mod(int **p){
*p=(int *) malloc (10*sizeof(int));
int i=0;
while (i<10){
*p[i]=i;
i++;
}
}
int main(){
int *p=NULL;
mod (&p);
int i=0;
while (i<10){
printf ("%d \n", p[i]);
i++;
}
}
=================================
en c++
=================================
#include <stdlib.h>
#include <stdio.h>
void mod(int *&p){
p=(int *) malloc (10*sizeof(int));
int i=0;
while (i<10){
p[i]=i;
i++;
}
}
int main(){
int *p=NULL;
mod (p);
int i=0;
while (i<10){
printf ("%d \n", p[i]);
i++;
}
}
Haciendo un programa, me surgió una duda, era como pasar un puntero por
referencia, en c++ se hacerlo pero en c se me esta resistiendo.....
a ver que tengo mal por ahí :)
Un Saludo Cachorro
=================================
en c
=================================
#include <stdlib.h>
#include <stdio.h>
void mod(int **p){
*p=(int *) malloc (10*sizeof(int));
int i=0;
while (i<10){
*p[i]=i;
i++;
}
}
int main(){
int *p=NULL;
mod (&p);
int i=0;
while (i<10){
printf ("%d \n", p[i]);
i++;
}
}
=================================
en c++
=================================
#include <stdlib.h>
#include <stdio.h>
void mod(int *&p){
p=(int *) malloc (10*sizeof(int));
int i=0;
while (i<10){
p[i]=i;
i++;
}
}
int main(){
int *p=NULL;
mod (p);
int i=0;
while (i<10){
printf ("%d \n", p[i]);
i++;
}
}