基本的に私は単語の配列を持っています
void print(char *str) {
cout << str <<endl;
}
int main() {
int i =0;
char* name[] = {"Fred", "John", "Jimmy"};
print(*name[0]);
}
関数に最初の単語だけを渡したいのですが、現在行っている方法で行っていると、すべての名前が渡されます。
そこに追加の逆参照があります。コードは次のようになります。
print(name[0]);
理想的には、渡された文字列を変更しないため、print
関数は を取る必要があります。const char*
char* name[]
char へのポインタの配列で、通常は文字列です。
void print(char *str)
引数として char への単一のポインターが必要です。
を呼び出すことprint(*name[0])
で、実際には name[] 配列から最初のポインターを取得し、それを逆参照して単一の char に変換しています。関数には char へのポインターが必要なので、それを呼び出すだけprint(name[0])
で、配列の最初の項目を取得できます。