char
次の関数を実装して、ポインタ配列を介して参照されるいくつかの文字列の内容を出力したいと思います。関数の引数として合計を渡さずに、ポインターがいくつあるかをどのように判断できますか?
型の配列であれば、関数int
を使用することは可能sizeof()
ですが、配列の各項目がchar
文字列へのポインターであり、各文字列の長さが異なる可能性があることを考えると、このアプローチを使用できるとは思いません。
void printCharArray(char *arr[]){
int length = sizeof(arr) / sizeof(char); /* this does not give correct
number of items in the pointer array */
for (int i=1;i<=length; i++) {
printf("Array item: [%s]",arr[i]);
}
}