我定義了一個結構供用戶作爲用戶的數組:預定義的結構類型添加到
struct user {
char *name;
int age;
};
typedef struct user USER;
,我能創造用戶的數組:
USER uArray[3] = {
{ "Allan", 12 },
{ "Bob", 34 },
{ "Chris", 56 }
};
現在我該怎樣去添加一個預定義的用戶列表的用戶?:
USER u1 = { "Dave", 78 };
我認爲你可以將它添加到列表中,如下所示。但是,返回錯誤,指出它不能從'USER'轉換爲'char *'。
USER uArray[4] = {
{ "Allan", 12 },
{ "Bob", 34 },
{ "Chris", 56 },
u1
};
據我所知,它的治療U1創建用戶(名稱= U1),這樣你還能怎麼預定用戶添加到用戶的數組的第一個元素?
的代碼現在工作:
#include <stdio.h>
struct user {
char *name;
int age;
};
typedef struct user USER;
void changeName(USER *u);
void main(void)
{
USER u1 = { "Dave", 78 };
USER uArray[4] = {
{ "Allan", 12 },
{ "Bob", 34 },
{ "Chris", 56 }
};
// add u1 to position 3 of the array
uArray[3] = u1;
for (int i = 0; i < 4; i++)
{
if (uArray[i].name == "Bob")
{
changeName(&uArray[i]);
}
printf("User: %d, Name: %s, Age: %d\n", i, uArray[i].name, uArray[i].age);
}
}
void changeName(USER *u)
{
u->name = "Dave";
}
uArray [3] = U1。 – 2014-09-24 10:19:27
將其添加到數組中,但執行時會返回調試錯誤;指出變量(uArray和u1)周圍的堆棧已損壞。 – Kurtiss 2014-09-24 10:24:29
使用C99編譯器。例如,clang,gcc。 – BLUEPIXY 2014-09-24 10:24:40