是C中的struct,它由1个字段组成,是同一类型的字段吗?

Kir*_*kov 1 c struct types

 typedef struct _name name;
 struct _name { char name[256]; };

 // ...
 name Name;
 char *buf = (char*)malloc( 256*sizeof(char) );

 // ...
 // if I do not want to write strcpy (Name.name,buf); 
 // and write: list_name_insert (&List,0,&Name);
 // if just write:
 list_name_insert (&List,0 /* index */,(name*)buf /* pointer to elem */);
 // Will it be correct?
 // ...
Run Code Online (Sandbox Code Playgroud)

在函数list_name_insert标准C中逐字段elem复制执行.换句话说,是相同的srtuct { char[]; },并char*在ANSI C?

Fre*_*Foo 5

这两个问题的答案归结为一个是否定的.

struct与一个部件具有一个struct类型; 它与单个成员的类型不同.

此外,数组和指针不是一回事.数组可以像在中一样衰减到指针

char buf[256];
char *p = buf;
Run Code Online (Sandbox Code Playgroud)

但不是相反.