zoukankan      html  css  js  c++  java
  • C提高_day03_玩转多级指针

    #include <stdlib.h>
    #include <string.h>
    #include <stdio.h>
    
    
    char **getMem51(int num)
    {
        int i = 0;
        char **p2 = NULL;
        p2 = (char **)malloc(sizeof(char *) * num);
        if (p2 == NULL)
        {
            return NULL;
        }
    
        for (i=0; i<num; i++)
        {
            p2[i] = (char *)malloc(sizeof(char)  * 100  ); //char buf[100];
            sprintf(p2[i], "%d%d%d", i+1, i+1, i+1);
        }
        return p2;
    }
    
    int getMem52(char ***p3 , int num)
    {
        int i = 0;
        char **tmp = NULL;
    
        if (p3 == NULL)  //判断p3 而不是*p3.  p3指向的内存空间可以是NULL 
        {
            return -1;
        }
        
        tmp = (char **)malloc(sizeof(char *) * num);
        if (tmp == NULL)
        {
            return NULL;
        }
    
        for (i=0; i<num; i++)
        {
            tmp[i] = (char *)malloc(sizeof(char)  * 100  ); //char buf[100];
            sprintf(tmp[i], "%d%d%d", i+1, i+1, i+1);
        }
        *p3 = tmp; 
        //1 2
    
        return 0;
    }
    
    void getMem52_Free(char ***p3 , int num)
    {
        int i = 0;
        char **tmp = NULL;
    
        if (p3 == NULL)
        {
            return ;
        }
        tmp = *p3; 
    
        for (i=0; i<num; i++)
        {
            free(tmp[i]);
        }
        free(tmp);
         
        *p3 = NULL; //把实参赋值成null
    }
    
    void main()
    {
        int i = 0, j = 0;
        char **p2 = NULL;
        int num = 5;
    
        //p2 = getMem51(num);
    
        getMem52(&p2, num);
    
        for (i=0; i<num; i++)
        {
            printf("%s 
    ", p2[i]);
        }
    
        getMem52_Free(&p2, num);
        printf("hello...
    ");
        system("pause");
        return ;
    }
    Stay hungry,Stay foolish
  • 相关阅读:
    bt5设置IP
    flyCoding
    [Cocoa][译]苹果 Cocoa 编码规范中文版
    [BZOJ4569] [Scoi2016]萌萌哒
    BZOJ4899]记忆的轮廓
    [BZOJ1701] [Usaco2007 Jan]Cow School牛学校
    [Poi2011]Lightning Conductor
    [BZOJ4709] [Jsoi2011] 柠檬
    决策单调性优化dp 专题练习
    2369. 区间
  • 原文地址:https://www.cnblogs.com/zhesun/p/4976019.html
Copyright © 2011-2022 走看看