Michael MatzFix function types04418c79 years agoHistory
65 lines · 1.1 KB · C
RawDownload
#include <stdio.h> typedef int MyInt; struct FunStruct{   int i;   int j;}; typedef struct FunStruct MyFunStruct; typedef MyFunStruct *MoreFunThanEver; int main(){   MyInt a = 1;   printf("%d\n", a);    MyFunStruct b;   b.i = 12;   b.j = 34;   printf("%d,%d\n", b.i, b.j);    MoreFunThanEver c = &b;   printf("%d,%d\n", c->i, c->j);    return 0;} /* "If the specification of an array type includes any type qualifiers,   the element type is so-qualified, not the array type." */ typedef int A[3];extern A const ca;extern const A ca;extern const int ca[3]; typedef A B[1][2];extern B const cb;extern const B cb;extern const int cb[1][2][3]; extern B b;extern int b[1][2][3]; /* Funny but valid function declaration.  */typedef int functype (int);extern functype func;int func(int i){   return i + 1;} /* Even funnier function decl and definition using typeof.  */int set_anon_super(void);int set_anon_super(void){   return 42;}typedef int sas_type (void);extern typeof(set_anon_super) set_anon_super;extern sas_type set_anon_super; /* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/