zoukankan      html  css  js  c++  java
  • C基础--指针与函数返回值

    #include <stdio.h>
    #define A 0
    int funcA(int a, int b)
    {
        return a + b;
    }
    
    /*把指针作为函数的返回值*/
    int * funcB(int a, int b)
    {
        static int c = A;
        c = a + b;
        return &c;
    }
    /*通过函数进行内存的申请*/
    /*
    * 参数:要申请的内存大小
    * 返回值:申请好的内存的首地址 
    * 这是一种不好的方式
    */
    int * funcC(int size)
    {
        return (int *)malloc(size);
    }
    /*通过函数进行内存的申请*/
    /*
    * 参数:要申请的内存能够保存多少个int变量
    * 返回值:申请好的内存的首地址
    */
    int * funcD(int sum)
    {
        return (int*)malloc(sizeof(int)* sum);
    }
    
    /*函数返回值测试*/
    int main001(int argc, char **argv)
    {
        int *p_int, temp;
        p_int = funcB(2, 5);
        printf("%d 
    ", *p_int );
    
        temp = *funcB(4, 8); /*这样写是不推荐的形式*/
    
        /* &temp = funcB(5, 7); */ /*这样是错误的*/
    
    
        system("pause");
        return 0;
    }
    
    int main(int argc, char **argv)
    {
        int* p_int;
    
        /*想想看,前面声明的哪个函数原型合理?*/
        p_int = funcC(20);
        for (int i = 0; i < 20 / sizeof(int); i++)
        {
            p_int[i] = i; 
        }
        p_int = funcD(5);
        for (int i = 0; i < 5; i++)
        {
            p_int[i] = i;
        }
        system("pause");
        return 0;
    }
  • 相关阅读:
    浏览器为何禁止跨域(同源策略)
    viewPager
    How to remove focus without setting focus to another control?
    android ANR
    解决Ubuntu系统中文乱码显示问题
    USB 3.0规范中译本 第6章 物理层
    库&框架-----CDN网络引用总结
    18_如何排错
    17_今日回顾
    16_sql注入的原理及处理
  • 原文地址:https://www.cnblogs.com/zhuyaguang/p/4828042.html
Copyright © 2011-2022 走看看