Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn New | Dynamic Memory
C++ Intermediate | Mobile-Friendly

bookNew

Let’s imagine we need a new variable (e.g., x) during the execution of the code and want to allocate the memory for x in a heap (dynamic memory). If we just create x, our variable and static code memory will have no connections, and we can’t handle x.

To have the opportunity to work with the variable, we should create the pointer in the stack (code memory) for our variable. In such a way, you will have access to x for changing it:

In your code, use the operator new to allocate the memory for the variable within the heap and the type of the desired variable (we have no names here). new returns the address of the created variable:

new int;

We can also simultaneously declare the pointer x, which is dereferenced to access the variable:

int *x = new int;

In the images, we gave the name to our dynamic variable to simplify the explanation. Actually, variables created in a heap have no name, only an address and a pointer to it.

question-icon

Declare the pointer a, which is dereferenced to access the variable:

int =;

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 3

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Awesome!

Completion rate improved to 2.94

bookNew

Swipe to show menu

Let’s imagine we need a new variable (e.g., x) during the execution of the code and want to allocate the memory for x in a heap (dynamic memory). If we just create x, our variable and static code memory will have no connections, and we can’t handle x.

To have the opportunity to work with the variable, we should create the pointer in the stack (code memory) for our variable. In such a way, you will have access to x for changing it:

In your code, use the operator new to allocate the memory for the variable within the heap and the type of the desired variable (we have no names here). new returns the address of the created variable:

new int;

We can also simultaneously declare the pointer x, which is dereferenced to access the variable:

int *x = new int;

In the images, we gave the name to our dynamic variable to simplify the explanation. Actually, variables created in a heap have no name, only an address and a pointer to it.

question-icon

Declare the pointer a, which is dereferenced to access the variable:

int =;

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 3
some-alt