Enviado em 06/10/2014 - 16:45h
Boa tarde,#include <stdio.h> #define x * #define tipo(type) type x int main(void) { tipo(int) a; //equivalente a declarar um ponteiro int *a; return 0; }
#include <stdio.h> #define x * #define tipo(type) type x x int main(void) { tipo(int) a; //equivalente a declarar um ponteiro int **a; return 0; }
#include <stdio.h> #define x * #define tipo(type,a) (for(int i=0;i<a;i++) type+=x; return type;) int main(void) { tipo(int,3) a; //equivalente a declarar um ponteiro int ***a( se funcionasse); return 0; }
Enviado em 07/10/2014 - 15:57h
O preprocessador, responsável pelas macros usadas em programas em C, não faz parte da linguagem de programação em C. Ainda que os padrões do C façam uma serie de exigências mínimas para o preprocessador, ele é, tecnicamente falando, uma entidade separada do compilador. O fato de o compilador C geralmente chamar o preprocessador no primeiro estágio da compilação, não afeta essa independência. Em particular, o preprocessador não entende estruturas de repetição como o for, que é um comando da linguagem C, e só é entendido pelo compilador numa etapa de compilação posterior à de invocação do preprocessador.Enviado em 06/10/2014 - 17:39h
Amigo , pelo que vejo , seria melhor tentar criar uma funcao chamada "tipo" igual vc fez no define , pelo que eu saiba (posso estar errado),as macros elas nao suportam o ';'Enviado em 06/10/2014 - 18:45h
Cara , evite usar o gnu 99 , sempre declare as variaveis antes do for !Enviado em 07/10/2014 - 15:27h
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano