编辑代码

#include <stdio.h>
#include <stdlib.h>
typedef struct st
{
    unsigned char *pucBuffer;
    unsigned int uiBufSize;
    unsigned int uiVBufIdx;
} ST;
int main () {
    ST *data = (ST *)malloc(sizeof(ST));
    unsigned char str[10];

    str[0] = '\0';
    for (int i = 0; i < 9; i++)
    {
        str[i] = 'a' + i;
    }
    
    memset(data, 0, sizeof(ST));
    data->pucBuffer = (unsigned char *)malloc(10);  // 申请动态内存
    data->pucBuffer[0] = '\0';
    memcpy(data->pucBuffer, str, 10);

    for (int i = 0; i < 10; i++)
    {
        printf("%c ", data->pucBuffer[i]);
    }
    printf("\n");

    if (data->pucBuffer)
    {
        free(data->pucBuffer);
        data->pucBuffer = NULL;
    }

    free(data);
    data = NULL;

    return 0;

}