Dev - C++ - Diferencia entre arreglos dinámicos

 
Vista:

Diferencia entre arreglos dinámicos

Publicado por Caelol (1 intervención) el 28/11/2019 03:18:02
Hola, soy bastante nuevo en esto de la programación. Me preguntaba cuál era la diferencia entre este tipos de arreglo? especialmente de las funciones crearArreglo(N) y crearD(&p,N);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# include <stdio.h>
# include <stdlib.h>
int *crearArreglo(int N);
int *limpiarArreglo(int N);
void crearD(int **n, int N);
void limpiarD(int *n, int N);
int main(void)
{
        int *p, k = 0;
	int N = 10;
	int *g;
 
        q = crearArreglo(N);
        q = limpiarArreglo(N);
	crearD(&p,N);
	limpiarD(p,N);
 
for(k=0;k<N;k++)
printf("%d\n",p[k]);
printf("\n\n);
for(k=0;k<N;k++)
printf("%d\n",q[k]);
 
	return 0;
}
 
int *crearArreglo(int N)
{
int *arr= NULL;
if (N<=0)
 return(NULL);
arr= (int *) malloc(N*sizeof(int));
return(arr);
}
 
int *limpiarArreglo(int N)
{
int *arr= NULL, k = 0;
if (N<=0)
 return(NULL);
arr= (int *) malloc(N*sizeof(int));
for(k = 0;k<N;k++)
	arr[k] = 0;
 
return(arr);
}
 
void crearD(int **n, int N)
{
	*n=(int*)malloc(N*sizeof(int));
 
}
void limpiarD(int *n, int N)
{
	int k = 0;
	for(k=0;k<N;k++)
	n[k] = 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder