Skip to content

Instantly share code, notes, and snippets.

@456789123
Created June 15, 2015 14:45
Show Gist options
  • Save 456789123/96ecd6402da290399165 to your computer and use it in GitHub Desktop.
Save 456789123/96ecd6402da290399165 to your computer and use it in GitHub Desktop.
Eae galera??? Avaliem meu código em C ansi!!! Não vou explicar nada. A saída já explica tudo. Para vocês terem uma ideia, os inodes dos diretórios do linux são feito desta forma. Apreciem o código: Compilar: gcc -ansi -Wall pessoas.c -o pessoas
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LENGTH (50)
typedef struct {
char nome[LENGTH];
char cidade[LENGTH];
char pais[LENGTH];
int cpf;
}pessoa;
typedef struct {
pessoa *ptrperson;
}new;
pessoa *infor( pessoa *, char *, char *, char *, int);
void imprimir( char *, char *, char *, int );
void liberar( pessoa *);
pessoa *infor( pessoa *person , char *nome, char *cidade, char *pais, int cpf)
{
pessoa *pt = NULL;
pt = malloc( LENGTH * sizeof( person ));
strcpy( pt->nome, nome );
strcpy( pt->cidade, cidade );
strcpy( pt->pais, pais );
pt->cpf = cpf;
return pt;
}
void imprimir( char *text1, char *text2, char *text3, int cpf)
{
fprintf(stdout, "%s", text1 );
fprintf(stdout, "%s", text2 );
fprintf(stdout, "%s", text3 );
fprintf(stdout, "%i\n\n", cpf );
}
void liberar( pessoa *person )
{
free( person );
fprintf( stdout, "Memoria liberada.\n" );
}
int main( int argc, char **argv )
{
pessoa person;
new class1;
new class2;
new class3;
new class4;
class1.ptrperson = infor( &person, "\n\nMary Jane Watson\n", "Manhatan, New York\n", "Estados Unidos da America\n", 456987);
class2.ptrperson = infor( &person, "\n\nHatory Hanzo\n", "Nagasaki, Japao\n", "Japao Asia\n", 987415);
class3.ptrperson = infor( &person, "\n\nBruce Wayne\n", "Gotan, Gotan City\n", "Estados Unidos da America \n", 564561);
class4.ptrperson = infor( &person, "\n\nDiana ( Mulher Maravilha )\n", "Athenas, Athenas das Amazonas\n", "Grecia Europa \n", 654654);
imprimir( class1.ptrperson->nome, class1.ptrperson->cidade, class1.ptrperson->pais, class1.ptrperson->cpf );
imprimir( class2.ptrperson->nome, class2.ptrperson->cidade, class2.ptrperson->pais, class2.ptrperson->cpf );
imprimir( class3.ptrperson->nome, class3.ptrperson->cidade, class3.ptrperson->pais, class3.ptrperson->cpf );
imprimir( class4.ptrperson->nome, class4.ptrperson->cidade, class4.ptrperson->pais, class4.ptrperson->cpf );
liberar( class1.ptrperson );
liberar( class2.ptrperson );
liberar( class3.ptrperson );
liberar( class4.ptrperson );
fprintf( stdout, "\n" );
return EXIT_SUCCESS;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment