簡體   English   中英

C-訪問malloc的內存后的SIGSEGV

[英]C - SIGSEGV after accessing malloc'ed memory

這是導致分段錯誤的代碼片段:

void test_list(char **list)
{
    *list = malloc (100 * sizeof(char));
    *list[0] = 't';
    *list[1] = 'e'; // SIGSEGV here
    *list[2] = 's';
    *list[3] = 't';
}

int main()
{
    char *list;
    test_list(&list);
    return 0;
}

剛剛發生了什么事?

提防運算符優先級 -更改:

*list[0] = 't';

(*list)[0] = 't';

(等等...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM