array of strings

Hi
I need a better idea to implementing following in my code.

I need to store 80 long strings that will be used to display one by one in my GUI application. now i am storing those 80 long string in following two dimentational array.

uchar vpn_alm_long_str[MAX_ALARM][1024]={ }

each index will be an string index .
all strings would be defined static and this variable would be a global one .
so the issues that i can forsee

some issue with where this will be stored like in data segment (but don't know exactly the issue?/)
does not look good to store such big data structure in memnory when they are not going to be used always.
Insetad , if we can write all these strings in a file in a special format , and on run time we extract these string from that file , that sounds a good idea .
at least that file would be stored on disk not in the memory , and that would be brought in the memory only when it will be required to read and even that would be the only a string not the complete file ..

pls any other idea??

dav

Use an array of 80 pointers to character. As you encounter each string to be stored in this array, find the length of that string and then call malloc to allocate space for the string. This way you only allocate as much space as you need and you do not establish an arbitrary limit on the length of the string.