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ì structskhiế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 structgó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?