Mobil_surveillance_system 1
Dinamic_Array.c
Go to the documentation of this file.
00001 #include "Dinamic_Array.h"
00002 
00004 
00009 
00010 void Dinamic_Array_Init(tDinamicArray* pDinamicArray)
00012 {
00013     pDinamicArray->pArray = 0;
00014     pDinamicArray->uiSize = 0;
00015     pDinamicArray->uiLimit = 0;
00016     pDinamicArray->uiStep = STEPNUMBER;
00017 }
00018 
00019 
00021 void Dinamic_Array_Add(tDinamicArray* pDinamicArray, const void* pItem)
00023 {
00024         
00025     if(pDinamicArray->uiSize == pDinamicArray->uiLimit){
00026         
00027         void** pvTempArray = pDinamicArray->pArray;     
00028         pDinamicArray->pArray = (void**) malloc(sizeof(void*)*pDinamicArray->uiStep);
00029         if(pvTempArray){
00030             
00031             memcpy(pDinamicArray->pArray, pvTempArray, sizeof(void*)*pDinamicArray->uiSize);
00032         }
00033         
00034         free(pvTempArray);
00035     }
00036     
00037     pDinamicArray->pArray[pDinamicArray->uiSize] = (void*)pItem;
00038     pDinamicArray->uiSize++;
00039 }
00040 
00041 
00043 void Dinamic_Array_Delete(tDinamicArray* pDinamicArray, unsigned int uiIndex)
00045 {
00046     if(uiIndex >= pDinamicArray->uiSize){
00047         return; 
00048     }
00049     
00050     unsigned int i;
00051     for(i = uiIndex; i < pDinamicArray->uiSize-1; i++){
00052         pDinamicArray->pArray[ i ] = pDinamicArray->pArray [ i+1 ];
00053     }
00054     pDinamicArray->uiSize--;
00055 }
00056 
00057 
00059 void Dinamic_Array_Clear(tDinamicArray* pDinamicArray)
00061 {
00062     free(pDinamicArray);
00063     Dinamic_Array_Init(pDinamicArray);
00064 }
 All Data Structures Files Functions Variables Typedefs Enumerations Defines