c struct struct array,pointer,uuid,memcpy

#include <stdio.h>
#include <stdlib.h>
#include <uuid/uuid.h>
#include <string.h>


void retrieveUuid(char *uuidValue)
{
    uuid_t newUUID;
    uuid_generate(newUUID);
    uuid_unparse(newUUID, uuidValue);
}


struct BookStruct
{
    int BookId;
    char *BookAuthor;
    char *BookISBN;
};

struct BookStruct *arrayPointer4();
void structPointer5();

int main()
{
    structPointer5();
}

void structPointer5()
{
    struct BookStruct *bsp;
    bsp=arrayPointer4();
    for(int i=0;i<100;i++)
    {
        printf("Id=%d,Author=%s,ISBN=%sn",(bsp+i)->BookId,(bsp+i)->BookAuthor,(bsp+i)->BookISBN);
    }
}


struct BookStruct *arrayPointer4()
{
    static struct BookStruct arr[100];
    char *msg = (char *)malloc(40);
    for (int i = 0; i < 100; i++)
    {
        struct BookStruct bs;
        bs.BookAuthor = (char *)malloc(40);
        bs.BookISBN = (char *)malloc(40);
        retrieveUuid(msg);
        memcpy(bs.BookAuthor,msg,40);
        retrieveUuid(msg);
        memcpy(bs.BookISBN,msg,40);
        bs. BookId=i*i*i*i;
        arr[i]=bs;
    }
    free(msg);
    struct BookStruct*bsp=&arr;
    return bsp;
}

 

 

void charArr8()
{
    char **p=charArray7();
    for(int i=0;i<100;i++)
    {
        printf("I=%d,value=%sn",i,*(p+i));
        free(*(p+i));
    }
}

char **charArray7()
{
    static char * arr[100];
    char *msg=(char*)malloc(40);
    for(int i=0;i<100;i++)
    {
        arr[i]=(char*)malloc(40);
        retrieveUuid(msg);
        memcpy(arr[i],msg,40);
    }

    free(msg);
    char **p;
    p=&arr;
    return p;
}

c struct struct array,pointer,uuid,memcpy

 

 

struct BookStruct* structP10();
void structP11();

int main()
{
    structP11();
}

void structP11()
{
    struct BookStruct *p=structP10();
    for(int i=0;i<100;i++)
    {
        printf("I=%d,Author=%s,ISBN=%sn",(p+i)->BookId,(p+i)->BookAuthor,(p+i)->BookISBN);
        free((p+i)->BookAuthor);
        free((p+i)->BookISBN);
    }
}

struct BookStruct* structP10()
{
    static struct BookStruct arr[100];
    char *msg=(char*)malloc(40);
    for(int i=0;i<100;i++)
    {
        struct BookStruct bs;
        bs.BookId=i*i*i*i;
        bs.BookAuthor=(char*)malloc(40);
        bs.BookISBN=(char*)malloc(40);
        retrieveUuid(msg);
        memcpy(bs.BookAuthor,msg,40);
        retrieveUuid(msg);
        memcpy(bs.BookISBN,msg,40);
        arr[i]=bs;
    }

    struct BookStruct*p;
    p=arr;
    free(msg);
    return p;
}

 

 

c struct struct array,pointer,uuid,memcpy

 

原文链接: https://www.cnblogs.com/Fred1987/p/15580560.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    c struct struct array,pointer,uuid,memcpy

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/401803

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月19日 上午9:26
下一篇 2023年4月19日 上午9:26

相关推荐