Dyskusja:C/Tablice - więcej

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania

Definiowanie rozmiaru tablicy[edytuj]

Można też zdefiniować rozmiar tablicy przy użyciu zmiennej dla tablic dynamicznych :

#include <stdio.h>
#include <stdlib.h> // malloc


/*
gcc GiveNumberTest.c -Wall
./a.out


*/
unsigned char ArraySize;
const unsigned char period= 7;
// dynamic array
double *Angles;
double angle = 0.99;



/* -----------------------------------------  main   -------------------------------------------------------------*/
int main()
{
  Angles = malloc( period * sizeof(double) );
  
  if (Angles == NULL )
    {
      fprintf(stderr," Could not allocate memory\n");
      return 1;
    }
 else fprintf(stderr," memory is OK \n");

  fprintf(stderr," Initialized of array by assignment  \n");
  int i;
  for (i = 0; i < period; ++i)
  {
    Angles[i] = (double)i/period;
    printf("angle= %f  \n", Angles[i]);
   }


  free(Angles);
  return 0;
}

Czyli były 3 możliwości użycia zmiennej do definiowania rozmiaru tablicy:

  • dla tablic statycznych
    • z użyciem define
    • w standardzie C99
  • dla tablic dynamicznych

Co o tym sądzicie ?

Adam majewski (dyskusja) 18:03, 30 gru 2012 (CET)