Je suis nouveau sur stackoverflow et C et j'ai une question. Je suis obligé d'écrire un programme qui va itérer à travers un tableau, puis déréférencer le contenu à zéro. Pour une raison quelconque, mon "zero_out_array" ne changera que le premier nombre de mon tableau à zéro, et pas le reste. Voici mon code, toute aide est appréciée.Vouloir déférencer le contenu de ma matrice à zéro.
#include <stdio.h>
void print_array(int* p_array, int num_elements)
{
printf("print_array called:\n");
for (int i = 0; i < num_elements; i++)
{
printf("%d \n", p_array[i]);
}
}
void zero_out_array(int* p_array, int num_elements)
{
printf("zero_out_array called:\n");
*p_array = 0;
for (int j = 0; j < num_elements; j++)
{
printf("%d \n", p_array[j]);
}
}
int main()
{
int main_array[] = { 15, 24, 33, 42, 51 };
print_array(main_array, 5);
zero_out_array(main_array, 5);
return 0;
}
'* p_array = 0;' fait uniquement référence au premier élément du tableau. –