C语言返回结构体

来源:互联网 发布:手机淘宝5.3.2 编辑:程序博客网 时间:2024/06/05 16:10

本篇日志是之前搜集到的知识,现在已懒得去再找连接,虽然打上原创的tag,但还是向原创致敬,若有侵权问题,联系我会处理。

代码如下,该代码可以通过gcc的编译,即使我指定了 -std=c89:



#include <stdio.h>
#include <stdlib.h>
#include <memory.h>


  typedef struct St{
    int id;
  }St;


  St* returnPointer(void) 
  { 
    St* p=calloc(1,sizeof(St));
    p->id=100;
    return p;
  } 
    
  St returnStruct(void) 
  { 
    St st;
    st.id=100;
    return st;
  } 


  int main()
  {
    St st1=*(returnPointer()); 
    St st2=returnStruct(); 
    printf("%d\n", st1.id);
    printf("%d\n", st2.id);


    return 0;
  }
0 0
原创粉丝点击