Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Dynamic Allocation of the Array | Dynamic Memory Allocation
C++ Pointers and References

bookDynamic Allocation of the Array

Before we explore why dynamic allocation is necessary, let's quickly recap the characteristics of static and dynamic arrays:

  • Fixed Size: Once declared, the size of a static array is fixed and cannot be changed during runtime;
  • Memory Allocation at Compile Time: The memory required for a static array is allocated at compile time.
  • Resizable: Dynamic arrays allow for resizing during runtime, providing flexibility to adapt to changing program requirements;
  • Memory Allocation at Runtime: Memory for dynamic arrays is allocated during program execution.

The Limitations of a Static Approach

Consider the program that prompts the user to input performance scores for each day that has passed in current month.

Unfortunately, we can't achieve this using a static array:

main.cpp

main.cpp

copy
12345678910
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(&currentTime)->tm_mday; int arr[day_passed]; std::cout << day_passed << std::endl; }

Note

This will generate a compilation error because day_passed is not a constant expression it depends on the runtime value of the current day of the month.

So instead of static array we have to use a dynamic allocated array.

Tarefa

Swipe to start coding

  • Create a dynamic array with a size equivalent to the number of days that have passed.
  • Free allocated memory.

Solução

solution.cpp

solution.cpp

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 3
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

Awesome!

Completion rate improved to 5.88

bookDynamic Allocation of the Array

Deslize para mostrar o menu

Before we explore why dynamic allocation is necessary, let's quickly recap the characteristics of static and dynamic arrays:

  • Fixed Size: Once declared, the size of a static array is fixed and cannot be changed during runtime;
  • Memory Allocation at Compile Time: The memory required for a static array is allocated at compile time.
  • Resizable: Dynamic arrays allow for resizing during runtime, providing flexibility to adapt to changing program requirements;
  • Memory Allocation at Runtime: Memory for dynamic arrays is allocated during program execution.

The Limitations of a Static Approach

Consider the program that prompts the user to input performance scores for each day that has passed in current month.

Unfortunately, we can't achieve this using a static array:

main.cpp

main.cpp

copy
12345678910
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(&currentTime)->tm_mday; int arr[day_passed]; std::cout << day_passed << std::endl; }

Note

This will generate a compilation error because day_passed is not a constant expression it depends on the runtime value of the current day of the month.

So instead of static array we have to use a dynamic allocated array.

Tarefa

Swipe to start coding

  • Create a dynamic array with a size equivalent to the number of days that have passed.
  • Free allocated memory.

Solução

solution.cpp

solution.cpp

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

close

Awesome!

Completion rate improved to 5.88
Seção 4. Capítulo 3
single

single

some-alt