Code Generation/Exercise 8: Difference between revisions
From Wiki**3
< Code Generation
No edit summary |
No edit summary |
||
Line 31: | Line 31: | ||
Considere uma função, denominada raizes, que recebe três argumentos correspondentes aos factores de uma equação de 2º grau (ax²+bx+c) e que calcula o número de raízes. Escreva a sequência de instruções Postfix correspondentes à implementação da função raizes. | Considere uma função, denominada raizes, que recebe três argumentos correspondentes aos factores de uma equação de 2º grau (ax²+bx+c) e que calcula o número de raízes. Escreva a sequência de instruções Postfix correspondentes à implementação da função raizes. | ||
[[ | [[category:Compiladores]] | ||
[[category:Ensino]] |
Revision as of 14:30, 6 April 2015
Small exercises and questions.
static
Considere em C uma variável declarada static no corpo de uma função:
- Indique justificadamente qual a área de memória de dados a que pertence.
- Comente justificadamente se o valor desta variável pode ser modificado a partir de outra função.
- Caso a função que contém a variável static seja invocada recursivamente, quantas instâncias da variável existem e, caso existam múltiplas, os valores são iguais ou distintos? Justifique.
- Indique justificamente se uma função pode devolver o endereço de uma variável declarada static sem criar dangling references.
Memory Organization
Discuta as diferenças, se existirem, entre as variáveis x e y, declaradas como se segue, na linguagem C: <c> char *x = "cadeia"; char y[] = "cadeia"; char z[] = { 'c', 'a', 'd', 'e', 'i', 'a' }; </c>
Polymorphism
Indique justificadamente se a linguagem C possui algum tipo de polimorfismo. Em caso afirmativo, apresente exemplos.
Symbols
Considere a tabela de símbolos fornecida na CDK. Que modificações seriam necessárias se fosse necessário permitir a definição de espaços de nomes distintos para variáveis, funções e constantes?
Code Generation
Considere uma função, denominada raizes, que recebe três argumentos correspondentes aos factores de uma equação de 2º grau (ax²+bx+c) e que calcula o número de raízes. Escreva a sequência de instruções Postfix correspondentes à implementação da função raizes.