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
  • 相关阅读:
    [hihocoder1509][异或排序]
    [hdu6148][Valley Numer]
    [hdu2089][不要62]
    [luoguU42591][小T的绝对值]
    [luogu2073][送花]
    [bzoj4709][柠檬]
    [luogu2114][起床困难综合症]
    [codevs3342][绿色通道]
    [luoguU42591][小T的面试题]
    [noip][2014]
  • 原文地址:https://www.cnblogs.com/zhesun/p/4976019.html
Copyright © 2011-2022 走看看