Загрузка...

Populate Dynamic Array in Separate Function

Thread in C/C++ created by Muha665161 Dec 16, 2022. 231 view

  1. Muha665161
    Muha665161 Topic starter Dec 16, 2022 67 Dec 3, 2019

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


    struct Student
    {
    int age;
    };

    void Get_datas(Student *arr, int size)
    {
    for (int i = 0; i < size; i++)
    {
    scanf_s("%d", arr[i].age);
    }
    }

    int main()
    {

    Student* arr = (Student*)malloc(3 * sizeof(Student));
    Get_datas(arr, 3);
    free(arr);

    return 0;
    }


    Нужно чтобы динамический массив заполнялся в отдельной функции. Но он не заполняется
     
  2. KupalniK
    KupalniK Dec 16, 2022 Banned 4 Nov 3, 2022
    Все правильно, но чет мне не понравилось использование scanf_s. Возможно дело в нем. Попробуй scanf
     
  3. Uwuku
    Uwuku Dec 16, 2022 пишу кодик:pressF: 262 Oct 11, 2019
    что такое scan_f?
     
  4. cardholder
    cardholder Dec 16, 2022 Banned 2448 Jul 13, 2022
    C
    #include <stdio.h>
    #include <stdlib.h>

    struct Student
    {
    int age;
    };

    void Get_datas(Student *arr, int size)
    {
    for (int i = 0; i < size; i++)
    {
    scanf_s("%d", &arr[i]->age);
    }
    }

    int main()
    {
    Student* arr = (Student*)malloc(3 * sizeof(Student));
    Get_datas(arr, 3);

    // Выводим значения возраста студентов
    for (int i = 0; i < 3; i++)
    {
    printf("Возраст студента %d: %d\n", i + 1, arr[i]->age);
    }

    free(arr);

    return 0;
    }
    Попробуй
     
    1. View previous comments (1)
    2. cardholder
    3. cardholder
      Muha665161,
  5. Uwuku
    Uwuku Dec 16, 2022 пишу кодик:pressF: 262 Oct 11, 2019
    у меня есть исходник заполнение динамического массива, вот[IMG]
     
  6. bezklanov
    bezklanov Dec 17, 2022 5 Nov 19, 2020
    C
    #include <iostream>
    #include <vector>

    using namespace std;

    // функция
    void fillArray(vector<int> &arr);

    int main()
    {
    // динамический массив с начальным размером 5
    vector<int> myArray(5);

    // Вызов функцию fillArray, чтобы заполнить массив значениями.
    fillArray(myArray);

    // Вывести значения массива
    for (int i : myArray)
    cout << i << " ";

    return 0;
    }

    // Описание функции
    void fillArray(vector<int> &arr)
    {
    // Заполнить массив значениями
    for (int i = 0; i < arr.size(); i++)
    arr[i] = i + 1;
    }
     
    1. bezklanov
      функция fillArray принимает ссылку на векторный объект в качестве аргумента и заполняет его значениями. Векторный объект передается по ссылке, поэтому любые изменения, внесенные в него внутри функции, отражаются в исходном объекте
Top
Loading...