C'de bir işlevden bir dizi döndüremeyeceğimizi, bir diziye göstericiyi döndüremeyeceğimizi biliyorum. Ancak structs, diziler içerse bile, onları fonksiyonlar tarafından döndürülebilir kılan özel şeyin ne olduğunu bilmek istiyorum .
Neden structsarma aşağıdaki program geçerli kılan?
#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. Sendikaları özel kılan nedir?