<syntaxhighlight lang="c">

  1. include<stdio.h>

int main() {

int *a;
*a=5;
printf("%d",a);
return 0;

}

</syntaxhighlight>

Solution

<syntaxhighlight lang="c"> int *a; </syntaxhighlight> This declares a as an integer pointer, meaning 'a' can point to any memory address which contains an int

<syntaxhighlight lang="c">

  • a = 5;

</syntaxhighlight> This makes the content of the address pointed to by 'a' 5. But 'a' is not pointing to any valid address (int *a assigns garbage value to 'a') and hence this assignment can cause segmentation fault




blog comments powered by Disqus

<syntaxhighlight lang="c">

  1. include<stdio.h>

int main() {

int *a;
*a=5;
printf("%d",a);
return 0;

}

</syntaxhighlight>

Solution[edit]

<syntaxhighlight lang="c"> int *a; </syntaxhighlight> This declares a as an integer pointer, meaning 'a' can point to any memory address which contains an int

<syntaxhighlight lang="c">

</syntaxhighlight> This makes the content of the address pointed to by 'a' 5. But 'a' is not pointing to any valid address (int *a assigns garbage value to 'a') and hence this assignment can cause segmentation fault




blog comments powered by Disqus