I was doing some exercises on pointer in C , because I have some problems with them. I have to change some values in an array using a void function , but when I run the code it returns me a segfault. Here's the code :
#include <stdio.h>
#include <stdlib.h>
void change( int **v , int l ) {
for ( int i = 0 ; i < l ; i++ )
*v[i] = 0 ;
}
int main ( int argc , char** argv ) {
int *v , l ;
scanf("%d",&l) ;
v = (int*) malloc(sizeof(int)*l) ;
for ( int i = 0 ; i < l ; i++ )
scanf("%d",&v[i]) ;
change( &v , l ) ;
for ( int i = 0 ; i < l ; i++ )
printf("%d ",v[i]) ;
return 0 ;
}
int **vWhat?*v[i]-->(*v)[i]