Enviado em 01/06/2013 - 12:05h
#include <stdio.h>
#include <stdlib.h>
typedef struct OBJECT OBJECT;
struct OBJECT
{
int id;
int flags;
};
OBJECT *win;
void create (void)
{
win = (OBJECT*) malloc (sizeof(OBJECT));
if (!win)
{
printf ("xi, ferrou ... sem memoria ;)\n");
exit (-1);
}
win->id = 200;
win->flags = 300;
}
void change_id_flags (OBJECT *o)
{
int *p;
p = (int*)o; // get id
*p = 2222; // set id
p++; // change to flags ... get flags
*p = 3333; // set flags
}
int main (void)
{
create ();
// ORIG: 200, 300
//
printf ("\nORIG OBJECT->id: %d\n", win->id);
printf ("ORIG OBJECT->flags: %d\n\n", win->flags);
printf ("------- CHANGING -------\n\n");
change_id_flags (win);
// CHANGED: 2222, 3333
//
printf ("NOW OBJECT->id: %d\n", win->id);
printf ("NOW OBJECT->flags: %d\n", win->flags);
return 0;
}
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Problema no boot do Linux Mint Cinnamon 22 (3)
Atualização do Google Chrome do Ubuntu [RESOLVIDO] (2)
Instalei Windows 11 e não alterou o Grub do Debian (1)
Jogos baixados na Central de Aplicativos mas que não abrem (0)