2
我有以下代碼:如何傳遞結構作爲參數和memcpy它在C?
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int a[3];
} A;
typedef struct
{
int b;
} B;
typedef struct
{
A a;
B b;
} C;
void getC(C *c_p)
{
C c;
c.a.a[0] = 1;
c.b.b = 1;
memcpy(c_p, &c, sizeof(C));
}
int main()
{
C *c;
getC(c);
}
和它說的過程中回來了,我實在找不出理由,我假設的memcpy部分沒有工作,任何人都可以幫助?
你還沒有在'main'中爲'c'分配內存指向。你對未初始化的指針進行'memcpy',調用未定義的行爲。 –
我沒有得到它 – user2131316
爲什麼過程不會返回?這不像你正在做的任何事情可以阻止它回來。 –