#include <stdio.h>
#include <conio.h>
void test(char *p)
{
     p = p + 1;
     *p = 'a';
}
int main()
{
    char *str = "Hello";
    test(str);
    printf("%s", str);
    getch();
    return 0;
}
When I run this code it gives segmentation error ? why is this happening. The const theory is not clear to me... whereas if I declare str as char str[], it does the job. Are they not both basically the same things ?
 
     
    