zoukankan      html  css  js  c++  java
  • 标C编程笔记day06 动态分配内存、函数指针、可变长度參数


    动态分配内存:头文件 stdlib.h
        malloc:分配内存
        calloc:分配内存,并清零
        realloc:调整已分配的内存块大小
        演示样例:
            int *p=(int *) malloc(3*sizeof(int));//分配内存,成功返回首地址,失败返回NULL
            free(p);p=NULL;//释放分配的内存,并改动指针的值,避免出现野指针(指向一个地址,但地址已被回收)
    const 与指针:
        const int *p; //指针可变,指针相应的数据不可改动
        int * const p; //指针不可变,指针相应的数据可改动
        const int * const p; //指针不可变,指针相应的数据不可改动

    指向函数的指针:
        int add(int a,int b){return a+b;}
        int mul(int a,int b){return a*b;}
        int (*a) (int ,int )=NULL; //定义函数类型指针
        int sum;
        a=add;
        sum=a(3,4);//7
        a=mul;
        sum=a(3,4);//12
        typedef int (*pa)(int,int) pa1,pa2; //定义函数类型指针
        pa1=add;
        pa2=mul;
        sum=pa1(3,4);//7
        sum=pa2(3,4);//12

    可变长度參数的使用:头文件 stdarg.h
        int max(int count,...)//count为后面參数的个数,不确定多少个
        {
            va_list v;
            va_start(v,count);
            for(int i=0;i<count;i++)
            {
                int argi=va_arg(v,int);//取出各參数的值
            }
            va_end(v);
        }

  • 相关阅读:
    "上传"组件:<upload> —— 快应用组件库H-UI
    Xcode免证书调试
    iOS-OC-基本控件之UIPageControl
    关于装完系统出现a disk read error occurred的解决方法
    iOS-OC-基本控件之UITextField
    windows常用快捷键
    制作无广告启动盘
    自制垃圾批处理软件
    学习总结
    如何将BroadcastReceiver中的信息传到Activity中
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4004250.html
Copyright © 2011-2022 走看看