fork(2) download
  1. #include <stdio.h>
  2.  
  3. int main( void )
  4. {
  5. char str[] = "kitty on your lap";
  6. char* a;
  7.  
  8. /* char* 型のポインタ、というイメージ */
  9. char* *b;
  10.  
  11. /* char* と char[] はシンタックスシュガー */
  12. a = str;
  13.  
  14. /* こう書いた方が分かりやすい? */
  15. b = &a;
  16. /* *b = a; */
  17.  
  18. /* 出力 */
  19. printf( "%s\n%s\n%s\n", str, a, *b );
  20.  
  21. /* char* と char[] は同じ(シンタックスシュガー)
  22. * -> char* 型は一次元配列として表現できる
  23.   */
  24. printf( "%c\n", str[2] );
  25. printf( "%c\n", a[2] );
  26.  
  27. /* 上と同様に
  28. * char** と char[][] は同じ(シンタックスシュガー)
  29. * -> char** は二次元配列で表現できる
  30. */
  31. printf( "%c\n", b[0][2] );
  32.  
  33. /*
  34. * たとえば、変数xがあったとして
  35. * 一次元配列の先頭アドレスは *x のように表される
  36. * 二次元配列の最初の要素の先頭アドレスは ( *x )[ 0 ] と表される
  37. */
  38. printf( "%c\n", ( *b )[2] );
  39.  
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0s 2156KB
stdin
Standard input is empty
stdout
kitty on your lap
kitty on your lap
kitty on your lap
t
t
t
t