Try something like this:
times = (time_type *) malloc(100 * sizeof(time_type)); #etc.
# The "100" is arbitrary. You can always realloc() if you need more than 100 "people".
but a better solution would be to use, say, sqlite
to create a data base containing your input data in tables, and then have your C program access the tables with the appropriate queries. (I suggest sqlite
since it's designed to be created and called from C programs. F.Y.I.: Firefox, for example, uses sqlite
for much of its internal housekeeping.)
By the way, the "fuzzy matching" of names to find duplicates is a non-trivial task. Much has been written about such matching (often in the context of "cleaning" mailing lists of duplicated names), and I'd suggest you investigate the literature before "jumping into the deep end of the pool." Without additional information, an exactly matched name is, of course, just that, with no clue if it's the same person or not. (I know of one Canadian athlete with the same name as mine. Google your own name sometime if you think your name is unique.)