În C, pentru int *p = malloc(5 * sizeof *p); ce trebuie verificat înainte de accesarea p[0]?
Exercițiu original Grile.app pentru Bazele programării calculatoarelor (CSIE, ASE București), creat cu ajutorul AI. Nu este un subiect oficial de examen. Dă un test grilă la Bazele programării calculatoarelor
- A.Dacă sizeof(int) este obligatoriu 2
- B.Dacă p are aceeași adresă ca variabila locală p
- C.Dacă malloc a inițializat toate elementele la 1
- D.Dacă p este diferit de NULL✓ Corect
Răspuns corect: D – Dacă p este diferit de NULL
Explicație
malloc poate eșua și întoarce NULL; rezultatul trebuie verificat înainte de dereferențiere.
Sursă: Exercițiu original Grile.app, creat cu ajutorul AI pe tematica: ASE DICE · T6: Lucrul cu pointeri · nedatat; arhivă curs 2019–2020. Nu este un subiect oficial de examen.
Material universitar de referință · Memorie dinamică și const · T6, diapozitivele 9–10
Alte întrebări de la Bazele programării calculatoarelor
- În C, ce operație eliberează un bloc obținut prin malloc, după terminarea folosirii sale?
- În C, pentru int x = 3; const int *p = &x; ce operație este interzisă prin tipul lui p?
- În C, ce valoare are expresia 19 / 4 dacă ambii operanzi sunt de tip int?
- În C, ce valoare întreagă are expresia 2 + 3 * 4?
- În C, pentru int x = 6; ce valoare are x după x += 4;?
- În C, pentru int a = 0; ce valoare are expresia a != 0 && 12 / a > 1?
- Toate întrebările și răspunsurile la Bazele programării calculatoarelor