#include <stdio.h>#include <time.h> typedef struct {	union {		char * company;		char * school;		char * project;	};	union {		char * location;		char * url;	};	union {		char * title;		char * program;	}; 	time_t started;	time_t left; 	char * description[];} thing_t; typedef thing_t job_t;typedef thing_t school_t;typedef thing_t project_t; #define CURRENT 0 /* I wasn't alive at the Unix epoch, so that'll work */ /* Contact Information */char * name    = "Kevin R. Lange";char * email   = "klange@toaruos.org";char * address = "1045 Mission St, Apt 440\n"                 "San Francisco, CA 94103"; /* Education */school_t uiuc = {	.school   = "University of Illinois at Urbana-Champaign",	.location = "Urbana, IL",	.program  = "BS Computer Science",	.started  = 1251158400,	.left     = 1336608000,	.description = {		"Minor in International Studies in Engineering, Japan",		"Focused on systems software courses",		NULL	}}; school_t hit = {	.school   = "Hiroshima Institute of Technology",	.location = "Hiroshima, Japan",	.program  = "Study Abroad",	.started  = 1274745600,	.left     = 1278288000,	.description = {		"Cultural exchange program",		NULL	}}; school_t * schools[] = {	&uiuc,	&hit,	NULL}; /* Projects */project_t compiz = {	.project = "Compiz Window Manager",	.url     = "http://compiz.org",	.title   = "Developer",	.started = 1201392000,	.left    = 1264291200,	.description = {		"Minor plugin contributor",		"Various research projects",		NULL	}}; project_t toaruos = {	.project = "ToAruOS",	.url     = "https://github.com/klange/toaruos",	.title   = "Lead",	.started = 1295049600,	.left    = CURRENT,	.description = {		"Hobby x86 Unix-like kernel and userspace",		"Advanced in-house GUI with compositing window manager",		NULL	}}; project_t * projects[] = {	&toaruos,	&compiz,	NULL}; /* Employment History */ job_t yelp = {	.company  = "Yelp, Inc.",	.location = "San Francisco, CA",	.title    = "Software Engineer, i18n",	.started  = 1339977600,	.left     = CURRENT,	.description = {		"Developed several internal tools and libraries",		"Provided critical input and design work for Yelp's launch in Japan",		NULL	}}; job_t apple_internship = {	.company  = "Apple Inc.",	.location = "Cupertino, CA",	.title    = "Software Engineering Intern",	.started  = 1306886400,	.left     = 1314662400,	.description = {		"Built software framework for testing and verification of desktop retina display modes",		"Assisted other interns with Unix fundamentals",		NULL	}}; job_t * jobs[] = {	&yelp,	&apple_internship,	NULL}; void print_thing(thing_t * thing) {	char started[100];	char left[100];	struct tm * ti;	int i = 0; 	printf("%s at %s - %s\n", thing->title, thing->company, thing->location); 	ti = localtime(&thing->started);	strftime(started, 100, "%B %d, %Y", ti); 	if (thing->left == CURRENT)  {		printf("%s to now\n", started);	} else {		ti = localtime(&thing->left);		strftime(left,    100, "%B %d, %Y", ti);		printf("%s to %s\n", started, left);	} 	char ** desc = thing->description;	while (*desc) {		printf("- %s\n", *desc);		desc++;	}} int main(int argc, char ** argv) { 	printf("%s\n%s\n%s\n\n", name, email, address); 	puts("Education\n");	school_t ** s = schools;	while (*s) {		print_thing(*s);		puts("");		s++;	} 	puts("Employment\n");	job_t ** j = jobs;	while (*j) {		print_thing(*j);		puts("");		j++;	} 	puts("Projects\n");	project_t ** p = projects;	while (*p) {		print_thing(*p);		puts("");		p++;	} 	return 0;}

代码是可以编译的,编译后的结果是:

Kevin R. Langeklange@toaruos.org1045 Mission St, Apt 440San Francisco, CA 94103EducationBS Computer Science at University of Illinois at Urbana-Champaign - Urbana, ILAugust 25, 2009 to May 10, 2012- Minor in International Studies in Engineering, Japan- Focused on systems software coursesStudy Abroad at Hiroshima Institute of Technology - Hiroshima, JapanMay 25, 2010 to July 05, 2010- Cultural exchange programEmploymentSoftware Engineer, i18n at Yelp, Inc. - San Francisco, CAJune 18, 2012 to now- Developed several internal tools and libraries- Provided critical input and design work for Yelp's launch in JapanSoftware Engineering Intern at Apple Inc. - Cupertino, CAJune 01, 2011 to August 30, 2011- Built software framework for testing and verification of desktop retina display modes- Assisted other interns with Unix fundamentalsProjectsLead at ToAruOS - https://github.com/klange/toaruosJanuary 15, 2011 to now- Hobby x86 Unix-like kernel and userspace- Advanced in-house GUI with compositing window managerDeveloper at Compiz Window Manager - http://compiz.orgJanuary 27, 2008 to January 24, 2010- Minor plugin contributor- Various research projects



https://gist.github.com/klange/4042963#file-resume-c作者: Kevin R. Lange