Created
June 15, 2015 14:45
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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