Tôi biết rằng trong C, chúng ta không thể trả về một mảng từ một hàm mà là một con trỏ tới một mảng. Nhưng tôi muốn biết điều đặc biệt là gì structs
khiến chúng có thể trả về bởi các hàm mặc dù chúng có thể chứa các mảng.
Tại sao struct
gói làm cho chương trình sau hợp lệ?
#include <stdio.h>
struct data {
char buf[256];
};
struct data Foo(const char *buf);
int main(void)
{
struct data obj;
obj = Foo("This is a sentence.");
printf("%s\n", obj.buf);
return 0;
}
struct data Foo(const char *buf)
{
struct data X;
strcpy(X.buf, buf);
return X;
}
union
. Nghiệp đoàn có gì đặc biệt?