打印指针指向的值(C编程)

打印指针指向的值(C编程),c,pointers,segmentation-fault,C,Pointers,Segmentation Fault,我想打印出指针指向的内容。这是我的密码: int main(){ int* pt = NULL; *pt = 100; printf("%d\n",*pt); return 0; } 这给了我一个分段错误。为什么?因为您试图写入空地址 尝试: 这些线路: int* pt = NULL; *pt = 100; 正在解除对NULL指针的引用(即,您试图将值100存储到地址NULL处的内存中),这将导致未定义的行为。尝试: int i = 0; int *p = &

我想打印出指针指向的内容。这是我的密码:

int main(){
    int* pt = NULL;
    *pt = 100;
    printf("%d\n",*pt);
    return 0;
}

这给了我一个分段错误。为什么?

因为您试图写入空地址

尝试:

这些线路:

int* pt = NULL;
*pt = 100;
正在解除对
NULL
指针的引用(即,您试图将值
100
存储到地址
NULL
处的内存中),这将导致未定义的行为。尝试:

int i = 0;
int *p = &i;
*p = 100;

当你指向某物时,它必须存在。尝试
malloc
,它就会存在!
int i = 0;
int *p = &i;
*p = 100;