char *song;
のような宣言はどうなりますか?*は何をしますか?それは配列、ポインタ、または何か他のものですか?
*(アスタリスク)は、変数がポインターであることを示します。小さな例として:
int x = 0;
int *y = &x; //y is pointing to x
const char* myText = "Text";
ただし、 ポインタとは についてもう少し詳しく知りたいと思うかもしれません。
H2CO3は正しいです、あなたはcとポインタを読むべきです。
char *song = "smb:d=4,o=5,b=......."
以下のコードと同じことをしますか
char song[] = "smb:d=4,o=5,b=......."
どちらの場合も、songは文字列の配列へのポインタです。 C++には文字列オブジェクトがありますが、プレーンCではc_stringsを使用していました。 c_stringは単なるchar配列です。 c_stringのように見えるものがあります。
*song //the same as "song[0]" will equal 's'
*(song+1) //the same as "song[1]" will equal 'm'
*(song+2) //the same as "song[2]" will equal 'b'
等々
はい、アスタリスクはそれをポインタにします。あなたは他の答えで行くのに十分なようですが、あなたが良いcの本を探しているなら: http://cm.bell-labs.com/cm/cs/cbook/
〜クリス