printf("%s",arr);「%s」というのは、テキストとして値をはめこむための記号です。こうすれば、arr配列のテキストをそのまま書き出すことが出来るのですね。これはとても便利です。――が、しかしこれはprintfという関数が独自にそういう機能を持っているからできることです。実際の値の利用においては、テキストは他の数字などの値とはちょっとばかり扱い方が違ってきます。
char arr[] = "Hello";ところが、これはエラーになります。配列というのは、{}で初期値を用意するか、あるいはインデックスを指定して1つ1つの要素に値を設定していきます。こんな具合に、イコールでまるごと別の配列に入れたりはできなんです。
char arr2[] = arr;
タイプ * 変数名こんな具合に、タイプの後に*をつけて変数宣言します。これで、そのタイプの値が置かれているアドレスを保管するための変数が用意されます。このアドレスを保管する変数を使えば、簡単にテキストを他の変数に渡すことができます。
char* arr = "Hello!";例えば、これでarrのテキストをarr2に渡すことができます。C言語では、テキストの値は、そのままcharポインタ変数に代入することができます。こんな具合に、"Hello"というテキストを、charポインタ変数に代入すれば、このテキストが保管されいてるアドレスをarrで管理できるようになるのです。
char* arr2 = arr;
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
#include <stdio.h> int main (int argc, const char * argv[]) { char* arr = "Hello!"; char* arr2 = arr; printf("%s",arr2); return 0; }
<< 前へ | 次へ >> |