github.com/Konstantin8105/c4go@v0.0.0-20240505174241-768bb1c65a51/tests/code_quality/comments.c (about) 1 // Taked from TestBookSources/testdata/git-source/VasielBook/Глава_4/4.11/main.c 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 /* Динамический массив как результат функции */ 6 7 /* 8 * Функция результатом возвращает динамический массив, 9 * заполненный числами Фибоначчи 10 */ 11 12 int* fibs(int n) 13 { 14 /* Если указан некоректный раззмер массива */ 15 if (n <= 0) 16 return 0; 17 18 /* Создание динамического массива */ 19 int* p = malloc(n * sizeof(int)); 20 21 /* Первый элемент массива */ 22 p[0] = 1; 23 24 /* Если в массиве есть второй элемент */ 25 if (n > 1) 26 p[1] = 1; 27 28 /* Индексная переменная */ 29 int k; 30 31 /* Заполнение прочих элементов массива */ 32 for (k = 2; k < n; k++) 33 p[k] = p[k - 1] + p[k - 2]; 34 35 return p; 36 } 37 38 // main function 39 // 40 // begin of program 41 42 int main(void) 43 { 44 /* Указатель для записи результатов вызова */ 45 int* nums; 46 47 /* Переменная для записи размера массива */ 48 int size; 49 50 /* Считывание размера массива */ 51 printf("Укажите размер массива: "); 52 scanf("%d", &size); 53 54 /* Индексная переменная */ 55 int k; 56 57 /* Отображение элементов массива */ 58 for (k = 0; k < size; k++) 59 printf("| %d ", nums[k]); 60 61 if (size >= 1) 62 printf("|\n"); 63 64 /* Удаление массива из памяти */ 65 if (nums) { 66 free(nums); 67 printf("Динамический массив удалён\n"); 68 } else 69 printf("Массив не был создан\n"); 70 71 return 0; 72 }