-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path29_array_static.c
More file actions
48 lines (37 loc) · 1.17 KB
/
29_array_static.c
File metadata and controls
48 lines (37 loc) · 1.17 KB
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
/* Demonstrando a diferença entre um array estatico e não estatico
*
* */
#include <stdio.h>
void staticArrayInit(void);
void automaticArrayInit(void);
int main() {
printf("Primeira chamada de cada funcao: \n");
staticArrayInit();
automaticArrayInit();
printf("\n\nSegunda chamada de cada funcao: \n");
staticArrayInit();
automaticArrayInit();
return 0;
}
/* Função com array estatico */
void staticArrayInit(void) {
static int a[3]; // inicializada com zeros pelo compilador
int i;
printf("\nValores de staticArrayInit ao entrar:\n");
for (i = 0; i <= 2; i++)
printf("array1[%d] = %d\n", i, a[i]);
printf("\nValores de staticArrayInit ao sair: \n");
for (i = 0; i <= 2; i++)
printf("array1[%d] = %d ", i, a[i] += 5);
}
/* Funcao para demonstrar um array local */
void automaticArrayInit(void) {
int a[3] = {1, 2, 3};
int i;
printf("\n\nValores de automaticArrayInit ao entrar: \n");
for (i = 0; i <= 2; i++)
printf("array1[%d] = %d ", i, a[i]);
printf("\n\nValores de automaticArrayInit ao sair: \n");
for (i = 0; i <= 2; i++)
printf("array1[%d] = %d ", i, a[i] += 5);
}