指标内容重新设的有关问题

指标内容重新设的问题
各位好,

    最近还在复习 C 语言,源码如下,为了确定自己没有误解这个程序,重新叙述这个程序的流程:
首先找了一块连续的内存位址,依序放入 
'h'
'e'
'l'
'l'
'o'
'\o'
字符,然後使指标指向此字串符的首位址,也就是 'h'
然後打印出 ptr指标变数的位指,ptr的内容(也就是'h'所在的位址),
ptr所指字符串的值,然後是ptr 首位址的值。

但是当我希望将 "hello" 改成 "jello" 便出现 segmenation fault …想请教是怎麽一回事,
先谢谢大家!

main()
{
    char *ptr="hello";
    printf("%p--%p--%s--%c\n",&ptr,ptr,ptr,*ptr);
    ptr="world";
    printf("%p--%p--%s--%c\n",&ptr,ptr,ptr,*ptr);

}

指标 c

------解决方案--------------------
 char *ptr="hello";静态区的,可读不可以改的!

用char ptr[10] = "hello";