[英]Struct pointed by an array? [C]
我正在嘗試制作一個使用由30個數組指向的結構的程序。這意味着,將只有30個名為Person的可用結構。 將此視為活動行,該活動行只能包含30個活動人員。 使用的功能有:
#include <stdio.h>
#include <stdlib.h>
struct Person
{
char name[40];
char firstname[40];
int CIN[12];
};
typedef struct Person *Activity;
main()
{
Activity act[30];
return 0;
}
空缺(搜索“活動”行中是否有空位)。
插入(如果活動行中的位置為空,則插入新的人員)。
取款(從“活動”行中刪除一個人)。
這是結構和活動行的聲明:
CIN是法國的身份證號碼。
這些功能是:
vacant(Activity act, int index);
insertion(Activity act, int index);
withdrawal(Activity act);
index是空位置的編號,必須在插入時使用。
我的問題是:
在聲明中,我找不到任何嚴重錯誤
由於它是指向結構的指針數組而不是結構的數組,因此在創建Person時只需使用malloc
,然后將返回的指針分配給數組的一個位置。 但是,您無需在其他時間使用malloc
顯示代碼。
不,點是訪問結構的字段,例如,如果您具有Person peter
則它將是peter.name
。 要從數組訪問結構,它應該是(*act[i]).name
或act[i]->name
。
希望這對您有所幫助; 我正在為您學習,所以也許經驗豐富的用戶可以為您提供更多幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.