char* and char[]
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef char* String;
String create_string( size_t max_length )
{
String ret = (String)malloc(max_length+1);
return ret[ 0 ] = '\0', ret;
}
void release_string( String target )
{
free(target);
}
void reverse (String str)
{
//size_t = uint,因為大小不會有負數
size_t left = 0, right = strlen(str)-1;
for ( ; left < right; ++left, --right )
{
char temp = str[left];
str[left] = str[right];
str[right] = temp;
}
}
int main()
{
String str = create_string( 5 );
strcpy( str, "12345" );
reverse( str );
puts( str );
release_string( str );
return 0;
}