typedef struct unit_class_struct {
char *name;
char *last_name;
} person;
int setName(person *array) {
array[0].name = strdup("Bob");
array[1].name = strdup("Dick");
return 1;
}
int setLastName(person *array) {
array->last_name = strdup("Sanchez");
array++;
array->last_name = strdup("Clark");
return 1;
}
int main()
{
person array[10];
person *pointer;
pointer = array;
setName(pointer);
setLastName(pointer);
printf("First name is %s %s\n", array[0].name, array[0].last_name);
printf("Second name is %s %s\n", array[1].name, array[1].last_name);
while(1) {}
return 0;
}
這是我想出的一些示例代碼,用於結構化。 請注意我在setName中設置名稱的方式,以及我在setLastName中設置名稱的方式。通過引用傳遞一個結構並對其進行操作
這兩個工作,但我很好奇兩種方式之間的區別是什麼呢?
一種比另一種好嗎?
這個例子中還需要strdup嗎?如果沒有,如果我將array.name設置爲隨機大小的變量而不是字符串文字,是否有必要?