精华内容
下载资源
问答
  • printf("结构体函数调用测试o(∩_∩)oOK\n"); return 0; } struct mode { int num; char null; }; int main(void) {  int i;  //结构体指针与结构体数组  struct ...
    #include "stdio.h"
    
    #include "stdlib.h"
    #include "string.h"
    int fun(void);
    /*************************************
    int ARRSCORE[3]={133,123,124};
       //学生  姓名 性别  年龄 考试成绩
    struct STWDENT
    {
        char name[10];
    char sex;
    int age;
    int *score;
    };
    struct node
    {
      int  (*p)();
    };
    int fun(void)
    {
    printf("结构体函数调用测试o(∩_∩)oOK\n");
    return 0;
    }
    struct mode
    {
    int num;
    char null;
    };


    int main(void)

    {
      int i;
     //结构体指针与结构体数组


           struct STWDENT stu={"张三",'0',20,ARRSCORE};结构体初始化及赋值     ①
    struct mode* p=malloc(sizeof(struct mode));//申请指针空间 存放在栈区   ②
    struct mode arr[3]={{23,'a'},{32,'b'},{44,'c'}};//结构体数组 堆区空间 ,也可向下面一样 申请内存 ③
      //struct mode* parr=malloc(sizeof(struct mode)*3);//占用的也还是堆区空间
        struct node meed={fun};//结构体函数赋值的使用④

    //结构体初始化及赋值①
    printf("结构体初始化及赋值原始数据:%s,%c,%d,%d,%d,%d\n",stu.name,stu.sex,stu.age,stu.score[0],stu.score[1],stu.score[2]);

    strcpy(stu.name,"李四");//使用strcpy函数实现结构体赋值
    stu.sex='1';
    stu.age=30;
    stu.score=malloc(sizeof(int)*3);//申请内存空间
    //malloc赋值
    stu.score[0]=100;
    stu.score[1]=200;
    stu.score[2]=300;

    printf("结构体初始化及赋值测试数据:%s,%c,%d,%d,%d,%d\n",stu.name,stu.sex,stu.age,stu.score[0],stu.score[1],stu.score[2]);
    free(stu.score);//用完之后释放数组指针空间
    stu.score=NULL;//记得让数组指针赋空语句

    //结构体指针②
    p->num=12;
    p->null='a';
    printf("结构体指针调用赋值测试数据:%d,%c\n",p->num,p->null);

    //结构体数组③
    for(i=0;i<3;i++)
    {
    printf("结构体数组调用赋值测试数据:%d,%c\n",arr[i].num,arr[i].null);
    }

    //结构体函数赋值的使用④
        meed.p();
    }
    ******************************************/
    /*******************************************
    //结构体嵌套
    struct nood
    {
    int n;
    };
    struct need
    {
    int b;
    struct nood bp;
    //struct need nod;//错误 未分配完全空间
    struct nood* p;
    };
    main()
    {
    //struct need no={2,{2}};
    //printf("%d\n",no.bp.n);


       struct need noo;
       noo.p=malloc(sizeof(struct need));
       noo.p->n=10;
       printf("%d\n",noo.p->n);




    }
    **********************************/

    /******************************************************************
    //结构体变量的大小不仅由 成员大小决定+内存对齐(数据存储的规则)
    //作用:大大增大内存读取效率


    //设置内存对齐

    #pragma pack(8);//8字节对齐 vc6.0系统默认是8字节对齐
    //#pragma pack(4);//4字节对齐 vc6.0系统默认是8字节对齐
    //#pragma pack(1);//1字节对齐 即结构体成员的字节大小
    struct NODE
    {
        char ch;  //1
        short sh; //2
        int in;   //4
        float f;  //4
        double db;//8
        char* p;  //4
        char arr[5];//5  11+17=28
    };
    int main(void)
    {
    printf("%d\n",sizeof(struct NODE));
    }


    *******************************************************/
    展开全文
  • C语言_函数结构体调用

    万次阅读 2019-04-06 00:40:05
    C语言_函数结构体调用 #include<stdio.h> //定义存储函数结构体 struct map{ //定义无参数类型返回void的函数指针 void (*p)(); }; /* * 通过实验观察系统如何处理整数上溢,浮点数上溢和浮点数下溢 ...

    C语言_函数结构体的调用

    #include<stdio.h>
    //定义存储函数的结构体
    struct map{
    	//定义无参数类型返回void的函数指针
    	void (*p)();
    };
    /*
     * 通过实验观察系统如何处理整数上溢,浮点数上溢和浮点数下溢
     */
    void one();
    //编写一个程序,要求提示输入一个ASCIL码值,然后打印输入的字符
    void two();
    //编写一个程序。发出一声警报,然后打印下面的文本
    void three();
    //编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式,然后如果系统支持,再打印成p记数法,
    void four();
    //一年大约有3.156e+7秒,编写一个程序,提示用户输入年龄,然后显示该年龄对应的秒数
    void five();
    //一个水分子的质量约为3.0e-23克,1夸脱水大约是950克,编写一个程序,提示用户输入谁的夸脱数,并显示水分子的数量。
    void six();
    //一英寸相当于2.54厘米,编写一个程序,提示用户输入身高(/英寸),然后以厘米为单位显示身高。
    void seven();
    //在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺,编写一个程序,提示
    //用户输入杯数,并以品脱,盎司,汤勺,茶勺为单位显示等价容量。思考对于该程序,为何使用浮点类型比整数类型更合适。
    void eight();
    int main(){
    //定义存储函数指针的数组
    struct map ma[30];
    //存储函数指针
    ma[0]={one};
    ma[1]={two};
    ma[2]={three};
    ma[3]={four};
    ma[4]={five};
    ma[5]={six};
    ma[6]={seven};
    ma[7]={eight};
    printf("请输入执行第几个方法:\n");
    int size=0;
    //刷新标准输出设备缓冲区
    fflush(stdout);
    //接收控制台输入存储到size的float变量
    scanf("%d",&size);
    //获取函数指针并运行
    ma[size].p();
    //结束
    return 0;
    };
    void one(){
    int size=333333333333;
    float fl=444.1111111111111111111111111;
    printf("%d %f %f\n",size,fl,-fl);
    };
    //
    void two(){
    int vb;
    /*
     * scanf()接收的数据必须要赋值给数据地址,int或char变量不是地址。所以要利用取地址符&获取数据地址
     */
    scanf("%d",&vb);
    printf("%c\n",vb);
    };
    void three(){
    printf("Startled by the sudden sound,Sally shouted,\nBy the Great Pumpkin,what was  that! \a");
    };
    void four(){
    	float a;
    	scanf("%f",&a);
    	printf("%f %e  %a\n",a,a,a);
    };
    void five(){
    int age;
    printf("请输入你的年龄:\n");
    //刷新stdout,显示stdout里的内容
    fflush(stdout);
    scanf("%d",&age);
    printf("该年龄对应的秒数:%e",age*3.156e+7);
    };
    void six(){
    printf("请输入水的跨脱数:\n");
    fflush(stdout);
    int size;
    scanf("%d",&size);
    printf("夸脱数为%d的水分子的数量为%e个:\n",size,size*950/3.0e-23);
    };
    void seven(){
    printf("请输入身高(/英尺)\n");
    fflush(stdout);
    float height;
    scanf("%f",&height);
    printf("您的身高为:%f\厘米!\n",height*2.54f);
    };
    void eight(){
    	printf("请输入杯数!\n");
    	fflush(stdout);
    	float bow;
    	scanf("%f",&bow);
    	float bow1=bow;
    	float pintuo=bow/2;
    	bow*=8;
    	float angsi=bow;
    	bow*=2;
    	float tangshao=bow;
    	bow*=3;
    	float chashao=bow;
    	printf("%f等于%f品脱,%f盎司,%f汤勺,%f茶勺!\n",bow1,pintuo,angsi,tangshao,chashao);
    };
    

     

    展开全文
  • C++调用结构体函数

    千次阅读 2020-03-21 09:03:14
    #include<iostream.h> struct com { int i,j; }; void fun(com *p1)//void (com p1) { cin>>p1->i>>p1->j;//cin>>p1.i>>p1.j;指针要用箭头指向,不用指针就用点,输出...j...

    #include<iostream.h>
    struct com
    {
    int i,j;
    };
    void fun(com *p1)//void (com p1)
    {
    cin>>p1->i>>p1->j;//cin>>p1.i>>p1.j;指针要用箭头指向,不用指针就用点,输出同理
    cout<i<<" "<j<<endl;//cout<<p1.i<<p1.j;
    }
    int main()
    {
    com k={};
    fun(&k); //fun(k);
    return 0;
    }

    展开全文
  • 结构体调用函数输出

    千次阅读 2018-09-29 14:38:49
    include include

    #include<stdio.h>
    #include<string.h>
    struct Books
    {
    char title[50];
    char auther[50];
    int number;
    };
    void printBook( struct Books book );
    int main()
    {
    struct Books book1;
    strcpy(book1.title,“you”);
    strcpy(book1.auther,“is”);
    book1.number=30;
    printBook(book1 );
    return 0;
    }
    void printBook( struct Books book )
    {
    printf("%s\n",book.title);
    printf("%s\n",book.auther);
    printf("%d\n",book.number);
    }

    展开全文
  • 结构体函数作用及示例

    万次阅读 2018-10-16 08:59:39
    一、作用  1. 提高代码阅读性  2....  3.... 1. 声明结构体函数 ... 2.... 调用结构体函数 三、示例 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; /*structure declare*/...
  • int (*add)(int a, int b); 定义了一个函数指针add,它可以指向一个函数,这个函数有两个int类型参数,并返回一个int...结构体函数:(声明结构体函数,初始化结构体函数调用结构体函数) #include<stdio.h&...
  • 函数指针&指针函数&结构体调用函数

    千次阅读 2017-07-11 13:57:08
    结构体通过指针调用函数的方法在项目中比较实用:上层函数实现,底层调用从而实现底层通知上层的回调功能!!! 在此说一下函数指针和指针函数这两个概念,下面先说一下两者的区别。 再者就是说一下结构体是如何通过...
  • 本发明涉及labview函数调用技术领域,尤其涉及一种基于labview调用动态链接库中结构体函数的方法。背景技术:labview(laboratoryvirtualinstrumentengineeringworkbench)是一种图形化的编程语言的开发环境,它广泛...
  • 关于C++结构体函数调用

    千次阅读 2017-10-27 17:15:50
    在一段利(没)用(事)链(找)表(事)来实现正整数相加的程序中,有一个函数是这样的,实现了将位数较小的链表最高位加到位数较大的链表上的功能。 void addMostDigit(List addee, List adder){//addee的位数不...
  • 结构体函数位域

    2016-12-30 23:31:47
    要注意在结构体中不能定义函数。在这里提到了函数,就简单介绍一下何为函数函数是实现每一特功能的代码。函数的组成有:返回值类型、函数名、参数列表和函数体。在函数内定义的临时变量只在函数内有效,跳出函数后...
  • 结构体调用结构体函数

    千次阅读 2012-10-05 20:54:22
    #include #include #include typedef struct tell ...//先让第2个结构体指向第一个结构体 ...//先让第2个结构tell成员体指向指向函数his_tell 函数 ll_call( call); return 0; }
  • 函数指针与指针函数以及结构体调用函数的方法

    万次阅读 多人点赞 2012-02-08 13:49:19
    以前忘记在哪见过见过C语言中:结构体通过指针的方式调用函数的方法,就一直找,找了半天,同时发现自己对函数指针和指针函数这两个概念没搞清楚。下面先说一下两者的区别。再者就是说一下结构体是如何通过函数指针...
  • #include ...返回函数指针 ...从数组匹配出的函数指针 ...结构体保存字符串名字和函数指针 typedef struct keyFunc {   char *funcName;   PFUNC pFunc; } KeyFunc;
  • 再在客户端定义了一个结构体,并以此结构体作为参数,调用webservice中的函数。 。程序报错![图片说明](https://img-ask.csdn.net/upload/201601/05/1451958926_863018.png) 但当传入其他类型的参数是没有问题的...
  • matlab用来解析XML文件的函数 可在主程序中直接调用
  • 结构体里面有函数指针时,直接调用是可以的,但是在当结构体作为参数传入函数时,调用就会出现硬件中断。 相同的方法在其它编译器中是正常运行的,比如QT自动的编译器 typedef struct{ uint8_t soCharging;//充电...
  • C语言结构体函数指针封装示例 示例: #include <stdio.h> int i, j; struct DATE{ int year; char month; char data; char hour; char min; char sec; }; struct DATE date; struct str_func {....
  • GO语言结构体函数创建对象的区别

    千次阅读 2020-11-24 18:38:19
    首先,声明一个结构体,如果要将一个函数作为一个结构体的方法,则应该在方法名之前,创建一个结构体的实例 例如 type Student struct{ name string id int64 } func (student Student)rename(){ student.name = ...
  • 中,我们分别调用了Point()和Point(1,2),然后我们还定义了结构体Point的“+”运算,最后我们还定义了结构体Point的输出规则,这样就可以规定他在被out时候的格式了。 注释1:那个x(x), y(y)就和类里面的私有变量的...
  • C++中的结构体函数(二)

    千次阅读 2019-09-07 17:21:32
    引用变量主要用来当做函数的形参,这样在函数调用时就会省去值传递的过程,直接使用原始数据。   引用的基本用法如下所示: int cola; int &happyWater=cola;   在这里&并不是地址运算符。这里&...
  • 最近在公司没什么事做,突然有来写写日志和博客,这种突发的灵感来自于我在学习内核驱动代码的时候发现了结构体的一种古老的初始化方法,多亏了尚观广州校区的叶老师在群里用心的给我文字讲解,让我明白了原来结构体...
  • C++中的结构体函数

    千次阅读 2015-07-14 18:21:38
     //可以将c++中的结构体理解为class,因为它一样会调用构造函数和析构函数   Test a(1);  printf("%d",a.num);  a.fun();  Test b();//定义了一个函数b,返回值是Test类型  //b.fun();//错误 ...
  • jna传递结构体参数调用so动态库

    千次阅读 2018-08-06 16:22:15
    java调用linux动态库有两种方式:(Windows为.dll 方式类似) jni:性能较jna更优,但文档较少不易上手,且java开发人员实现jni需要写c代码(输入输出参数复杂时转换很麻烦) jna:是基于JNI的,在JNI上封装了...
  • 结构体函数指针的初始化

    千次阅读 2012-04-18 14:23:45
    将相同或者类似的函数都放在同一模块内,能后通过函数指针的方式调用起模块内部的函数。但是在定义函数指针之后,需要对起模块内部 函数指针进行初始化工作方能调用,就好比windows里面的窗口调用一样,在使用之前...
  • C++中的结构体函数(一)

    千次阅读 2019-09-06 21:39:48
    该“整体性”也表明了,结构体完全可以像基本变量一样在函数调用的时候采取值传递的方式进行工作,即复制一份自己的拷贝结构体变量,令其代替自己进入函数干活。   以下代码为结构体函数的第一种使用方法,即传递...
  • #include &lt;iostream&gt;#include &lt;string&...结构体函数 结构体作为函数参数、结构体指针作为函数返回值---------------------------------*/struct time{ int hour; int ...
  • 接触嵌入式编程已经有一段时间了,平时的编程中会经常遇到结构体,但是就直接拿来用了,没有注意过细节,结果遇到问题就纠结了。趁这个机会,研究了一下C语言的结构体结构体指针,顺便总结一下! 注:关于结构体...
  • 1、如果结构体中的成员均为一般变量(包括结构体变量),则使用“.”,如果成员变量为指针(不管指向什么,包括结构体),则使用“->”。 2、如果定义了结构体数组指针,则可分别使用“.”和“->”,区别在于指针带...
  • //定义一个结构体类型,使之包含学生信息 struct Student{ int num;//学号 char name[20];//姓名 int c[3];//成绩 double avg;//因为每个同学都会有平均值,所以要在每个学生中定义平均值 }; //求平均...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 266,109
精华内容 106,443
关键字:

结构体的函数调用