Как хранить числа в массиве для последующего использования? - PullRequest
0 голосов
/ 16 февраля 2011

как пользователь программы может хранить информацию в массивах, таких как число с плавающей запятой, и может быть рассчитан для среднего значения позже в программе? Я пытаюсь составить программу для вычисления среднего балла.

Ответы [ 2 ]

0 голосов
/ 27 марта 2011

Переход с Java на C, самый большой «концептуальный прыжок», который вы должны совершить, это указатели.

Попробуйте распределить ваши поплавки следующим образом:

float *float_array = malloc(amount_of_elemts_in_array * sizeof(float))

Затем вы можете выполнить итерацию, используя

float_array[index]

Наличие этого указателя позволит вам передавать float_array в и из функций по ссылке, что очень удобно, поскольку вы не хотите воссоздавать экземпляры при каждом вызове функции.

Передайте float_array в функции, используя:

Function Declaration: void function_that_uses_float_array(float *placeholder);
Function Call: function_that_uses_float_array(placeholder);

Передача float_array из функций с использованием:

Return statement: return a_float_pointer;
One level up the stack: float_array = function_that_returns_a_float_pointer();

Массивы автоматически передаются по ссылке.

Надеюсь, это поможет вам в правильном направлении.

0 голосов
/ 16 февраля 2011
int maxGrades = 50; // pick this
int numGrades = 0;

float[] grades = malloc (sizeof (float) * maxGrades);


// in a loop somewhere
if(numGrades == maxGrades) {
  maxGrades *= 2;
  float[] newGrades = malloc (sizeof (float) * maxGrades);
  for(int i = 0; i < numGrades; i++) newGrades[i] = grades[i];
  grades = newGrades;
}
grades[numGrades++] = theNewestGrade;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...