簡體   English   中英

為二維結構對象數組分配相同的值

[英]Assigning same value to 2d struct object array

Struct student
{
        char last_name[30];
        char first_name[30];
};
Struct examination_seating
{
        struct student** seating;
};
void student_init_default(struct student *p)
{
        *p->first_name=*"###";
        *p->last_name=*"###";
}
void examination_seating_init(int rowNum, int columnNum, struct examination_seating *t)
{
        for (int i=0; i<rownNum; i++)
        {
                for(int j=0; j<columnNum; j++)
                {
                        student_init_default(&t->seating[i][j]);
//this creates a read access violation
                }
        }
}

我正在研究一個學校項目並編寫了它,但在調試時遇到了困難。 我的助教和老師提供的幫助很少。 我提交了我遇到問題的部分代碼。 我需要從 student_init_default 函數中為數組分配一個默認值。 如果我嘗試用 char 來做,我也會出錯。 我在網上找不到任何明確的參考資料。

        *p->first_name=*"###";
        *p->last_name=*"###";

C 字符串不能以這種方式分配(這僅分配第一個字符)。 我們必須使用strcpy

        strcpy(p->first_name, "###");
        strcpy(p-> last_name, "###");

此外,由於student_init_default(&t->seating[i][j])創建了一個讀訪問沖突,你沒有正確初始化tt->seating[i] ,所以你只提交了部分代碼是不明智有問題

暫無
暫無

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

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