Pages

Questão EPO - Alocação Dinâmica

Analise o seguinte código:

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

main (void) {
    int *p;
    int a;
    a = 2;

    p = (int *) malloc (a * sizeof (int));

    if (!p) {
            printf ("** Erro: Memoria Insuficiente **");
            exit;
        }

    free (p);
    ...
    return 0;
}

I. É alocada memória suficiente para se colocar "w" números inteiros
II. A memória é liberada
III. Se a operação não for bem sucedida p terá um valor nulo
IV. A memória não é liberada

Com base nas seguintes afirmações, escolha qual alternativa apresenta afirmações corretas:
a) Todas estão corretas;
b) II,III;
c) II,III e IV;
d) I,II e III;
e) N.d.a.

Referência: http://www.mtm.ufsc.br/~azeredo/cursoC/aulas/ca60.html

3 comentários:

Luiz Henrique disse...

A alternativa correta é a B.

Anônimo disse...

a letra D tb esta certa. a alocação daria certo. eu acho.
CArol

Luiz Henrique disse...

Então, coloquei a "I. É alocada memória suficiente para se alocar w números inteiros" como errada porque é alocada memória para a(variável) números inteiros e não w, acabou ficando confuso mesmo.

Postar um comentário

 
Copyright (c) 2010. Blogger templates by Bloggermint