
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;
}
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Instalando partes faltantes do Plasma 6









