Programação em c com alocação básica de memória

677 palavras 3 páginas
#include
#include

typedef struct { unsigned char d[3];
} DATA;

/*********************************************************
Protótipo: void IniciarData(DATA **D)
Função: Iniciar um tipo DATA, alocando memória para um tipo DATA.
Parâmetros: O endereço de um ponteiro para um tipo DATA.
Retorno: Nenhum.
*********************************************************/
void IniciarData (DATA **D){ *D=(DATA*)malloc(sizeof(DATA)); //Alocando memoria para o tipo DATA if (!*D) //Confirmando alocacao da memoria memset(*D,'\0',sizeof(DATA)); return;
}

/*********************************************************
Protótipo: void FinalizarData(DATA *D)
Função: Finalizar um tipo DATA, liberando a memória alocada para um tipo DATA.
Parâmetros: O endereço de um tipo DATA.
Retorno: Nenhum.
*********************************************************/
void FinalizarData (DATA *D) { free(D); return;
}

/*********************************************************
Protótipo:
void AtribuirDiaData(DATA *D, unsigned char dia)
Função: Atribuir o dia para um tipo DATA.
Parâmetros: O endereço de um tipo DATA e o dia.
Retorno: Nenhum.
*********************************************************/
void AtribuirDiaData (DATA *D, unsigned char dia){ unsigned char dia0; dia0=diad[0]=D->d[0]+dia0; return;
}

/*********************************************************
Protótipo:
void AtribuirMesData(DATA *D, unsigned char mes)
Função: Atribuir o mês para um tipo DATA.
Parâmetros: O endereço de um tipo DATA e o mês.
Retorno: Nenhum.
*********************************************************/
void AtribuirMesData (DATA *D, unsigned char mes){ unsigned char mes0, mes1; D->d[1]=0; mes0=mes>>1; //alocando os bits 2, 3 e 4 de mes para as posicoes 1, 2 e 3 mes1=mesd[0]+mes0; D->d[1]=D->d[1]+mes1; return;
}

/*********************************************************
Protótipo:

Relacionados

  • fundamentos de rede
    1272 palavras | 6 páginas
  • Aula 01 java
    1162 palavras | 5 páginas
  • Gerenciamento de memoria
    8406 palavras | 34 páginas
  • Apostilas
    11642 palavras | 47 páginas
  • adfsdsfsdfdsfhdgbndrg
    1313 palavras | 6 páginas
  • Desenvolvimento de Programas Paralelos para Máquinas NUMA: Conceitos e Ferramentas
    13214 palavras | 53 páginas
  • ATPS estrutura de dados
    539 palavras | 3 páginas
  • 647968
    1101 palavras | 5 páginas
  • Trabalho
    3601 palavras | 15 páginas
  • Neander
    681 palavras | 3 páginas