Arjun Suresh (talk | contribs) |
Arjun Suresh (talk | contribs) |
||
Line 13: | Line 13: | ||
===Solution=== | ===Solution=== | ||
− | int *a; / | + | <syntaxhighlight lang="c"> |
+ | int *a; | ||
+ | </syntaxhighlight> | ||
+ | This declares a as an integer pointer, meaning a can point to a memory address which contains an int | ||
− | *a = 5; / | + | <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 | ||
+ | |||
+ | <div class="fb-like" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div> | ||
+ | |||
+ | |||
+ | <div class="fb-share-button" data-type="button_count"></div> | ||
<disqus/> | <disqus/> | ||
[[Category:Coding Questions]] | [[Category:Coding Questions]] |
<syntaxhighlight lang="c">
int main() {
int *a; *a=5; printf("%d",a);
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c"> int *a; </syntaxhighlight> This declares a as an integer pointer, meaning a can point to a 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
<syntaxhighlight lang="c">
int main() {
int *a; *a=5; printf("%d",a);
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c"> int *a; </syntaxhighlight> This declares a as an integer pointer, meaning a can point to a 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