wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Gestione della memoria in C++

Total questions: 10

Worksheet time: 5mins

Name
Class
Date
1.

Lo stack è ...

a)

Gestito dal sistema

b)

Gestito dall'utente

c)

Soggetto a frammentazione

d)

La parte di memoria in cui vanno le variabili statiche

2.

Lo stack overflow...

a)

Si verifica quando si tenta di allocare ulteriore spazio in uno Stack pieno

b)

È esclusivamente un sito web in cui trovare le soluzioni a tutti i problemi della vita

c)

Si verifica più raramente se si usa la ricorsione

d)

Si verifica quando viene allocata troppa memoria nell'Heap, che quindi "invade" lo Stack

3.

L'Heap...

a)

non è mai più grande della memoria statica

b)

contiene memoria allocata tramite la funzione malloc

c)

contiene memoria allocata automaticamente quando dichiariamo variabili

d)

viene svuotato automaticamente dalla CPU

4.

Cosa si intende per "allocazione dinamica della memoria"?

a)

La memoria viene allocata solo durante l'esecuzione del programma

b)

Un metodo per allocare memoria in modo statico

c)

Un'operazione eseguita automaticamente dal compilatore

d)

La memoria viene allocata solo durante la compilazione del programma

5.

Le variabili globali vengono allocate

a)

Nello Stack

b)

Nell'Heap

c)

Nella memoria statica

d)

Nella ROM

6.

Dereferenziare un puntatore p significa

a)

Leggere il contenuto della variabile puntata da p

b)

Liberare la memoria puntata da p

c)

Dichiarare il puntatore p

d)

Cambiare l'indirizzo di memoria puntato da p

7.

Un memory leak...

a)

Non può verificarsi se uso solo l'Heap

b)

Si verifica quando non si libera della memoria allocata dinamicamente e si perde il puntatore relativo.

c)

Si verifica in seguito allo stack overflow, ovvero quando parte dello Stack finisce nell'Heap.

d)

Si verifica molto più frequentemente se la memoria è frammentata

8.

La funzione free()

a)

Va usata esclusivamente se allochiamo variabili nello Stack

b)

Va usata ogni volta che allochiamo della memoria nell'Heap

c)

Può non essere usata se la memoria è allocata dinamicamente

d)

Va usata subito dopo aver dichiarato un puntatore e aver allocato della memoria

9.

Quale delle seguenti sintassi è corretta?

a)

string* p = (string*) malloc(sizeof(string) * studenti);

b)

string* p = malloc(sizeof(string) * studenti);

c)

string &p = (string*) malloc(sizeof(string) * studenti);

d)

string* p = (string*) malloc(studenti);

10.

Quale di queste sintassi è corretta?

a)

int a = 42;

int* i = &a;

b)

char c = 'a';

char* p = *c;

c)

String s = "hello";

String &p = *s;

d)

float f = 4.2;

float i = &f;