#include <iostream>
#include <string.h>
char strings[][10] =
{
"str1",
"str2",
"str3",
"str4"
};
void addString( const char * str )
{
memmove( strings[1], strings, sizeof(strings)-sizeof(strings[0]) );
strcpy( strings[0], str );
}
void printStrings()
{
for ( uint8_t i = 0; i < sizeof(strings)/sizeof(strings[0]); i++ )
printf( "%d %s\n", i, strings[i] );
printf( "\n" );
}
int main()
{
printStrings();
addString( "add1" );
printStrings();
addString( "add2" );
printStrings();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nLmg+CiAKY2hhciBzdHJpbmdzW11bMTBdID0KewoJInN0cjEiLAoJInN0cjIiLAoJInN0cjMiLAoJInN0cjQiCn07Cgp2b2lkIGFkZFN0cmluZyggY29uc3QgY2hhciAqIHN0ciApCnsKCW1lbW1vdmUoIHN0cmluZ3NbMV0sIHN0cmluZ3MsIHNpemVvZihzdHJpbmdzKS1zaXplb2Yoc3RyaW5nc1swXSkgKTsKCXN0cmNweSggc3RyaW5nc1swXSwgc3RyICk7Cn0KCnZvaWQgcHJpbnRTdHJpbmdzKCkKewoJZm9yICggdWludDhfdCBpID0gMDsgaSA8IHNpemVvZihzdHJpbmdzKS9zaXplb2Yoc3RyaW5nc1swXSk7IGkrKyApCgkJcHJpbnRmKCAiJWQgJXNcbiIsIGksIHN0cmluZ3NbaV0gKTsKCXByaW50ZiggIlxuIiApOwp9CgppbnQgbWFpbigpCnsKCXByaW50U3RyaW5ncygpOwoJYWRkU3RyaW5nKCAiYWRkMSIgKTsKCXByaW50U3RyaW5ncygpOwoJYWRkU3RyaW5nKCAiYWRkMiIgKTsKCXByaW50U3RyaW5ncygpOwogCglyZXR1cm4gMDsKfQ==