1. 程式人生 > >函式返回指標,引用與指標區別

函式返回指標,引用與指標區別

1,函式不可以返回棧記憶體的指標,但是可以返回堆記憶體的指標,可以free掉兩次指向空的指標,但是不能連續free兩次指向記憶體的指標,會產生已放棄

 

int main()
{
    int *a;
    a = (int *)malloc(10);
    a[0] = 10;
    free(a);

    //free(a);

    return 0;
}

1,第一次free後,a的地址值沒有改變,但是這塊記憶體已經失效了,第二次free就會報錯,為防止這種情況產生,free完應置為NULL

 

2,指標與引用的區別

引用必須要初始化,指標不需要

引用初始化後不可更改,指標可以指向別的記憶體

引用不存在空引用,指標可以指向空