配列全体の文字数をカウントする
配列のサイズを同時に渡すようにしておけば何も難しいことはないと思われる。
int string_array_length(char * array[], int arrayLength){ int length, i; for( i = 0, length = 0 ; i < arrayLength ; i++ ){ length = length + strlen(array[i]); } length = length + 1; // for last '\0' return length; }
strlen は、配列要素ごとの最後の '\0' 除外してカウントするようなので、減算を意識する必要はないが、最後に \0 用の領域を確保する必要はある。