タグ

2008年4月14日のブックマーク (8件)

  • C/C++のポインタの機能--配列との関係 - builder by ZDNet Japan

    ポインタ変数と配列との関係 ポインタ変数と配列との深い関係を表す例を示そう。それは、配列の変数名をポインタ変数のように扱えるということだ。 int n[] = { 7, 3, 5, 9, 2 }; printf( "%d\n", *n ); /* 7 と出力される */ 上記は、nを5つのint型の要素を持つ配列として宣言した後、すぐに*nの値を表示させている。この結果は7と出力される。つまり、*nは配列の最初の要素(n[ 0 ])の値を表していることになる。 では、n[ 1 ]以降の値を*nを使って表すにはどうしたらよいだろうか。そのためには以下のように記述する。 int n[] = { 7, 3, 5, 9, 2 }; printf( "%d\n", *(n + 1) ); /* 3 と出力される */ printf( "%d\n", *(n + 2) ); /* 5 と出力される *

    C/C++のポインタの機能--配列との関係 - builder by ZDNet Japan
    j7400157
    j7400157 2008/04/14
    ポインタと配列
  • ロベールのC++教室

  • はてなブログ | 無料ブログを作成しよう

    【自分語り】1推しの卒業によせて . 私の1推し、ゆきりんこと柏木由紀ちゃんが、17年に渡り在籍したAKB48を卒業することになった。 この機会に、ゆきりん推し(48ファン)としての自分自身のことをすべては不可能であるものの振り返ろうと思う。 内容からして世代がわかることも仕方ないし、限りなくゼ…

    はてなブログ | 無料ブログを作成しよう
    j7400157
    j7400157 2008/04/14
    ポインタと配列と文字列
  • 2008-03-30

    from Yendot… コメントに「これはひどい…」とあったので、見てみるが…確かにこれはひどい 。タイトルは勢いあまってる程度とするにしても、解説の内容がとにかくひどい。つうか、サンプル動かねえw C/C++のポインタの機能--参照渡しのような処理って、タイトルもさることながら、1ページ目から突っ込みどころ満載である。 ちょっと見てみよう。 ポインタ変数の宣言 ポインタ変数の宣言では、一般の変数の場合とは異なり、名称の先頭に*がつけられる。以下はnというポインタ変数を宣言する例である。ここでは、*nが表す値のデータ型はintとなるが、それ以外のデータ型でポインタ変数を宣言すれば、*nはその型の値を表すことになる。 int *n; /* int型の値を表すポインタ変数nの宣言 */ int n; /* 一般の変数 n を宣言する場合 */ ここまではよい。単純に宣言の書き方と、その宣言が

    2008-03-30
    j7400157
    j7400157 2008/04/14
    ポインタと配列
  • http://www.machu.jp/posts/20080401/p01/

    j7400157
    j7400157 2008/04/14
    ポインタと配列
  • C 言語の配列について - IT戦記

    僕の理解も相当間違ってたみたいですね 「 *s 」と「 s[] 」の違い - IT戦記 書いてよかった>< 書かぬは一生の恥になるところでしたね! ありがたい突っ込みありがとうございます>< 404 Blog Not Found:c - *sとs[]の違い http://d.hatena.ne.jp/PyTest/20080404/1207273307 はてなブックマーク - 「*s = "...";」 と 「s[] = "...";」 の違い - IT戦記 だいたい分かった気がする 違ってたらきっと誰かが突っ込んでくれる>< 配列 ポインタはキモくなくて、配列がキモいってことが分かった。 あまちゃん: 配列は式の中に置くと「一部の例外」をのぞいてその場で「先頭要素のポインタ」の値として扱われるよ ひとちゃん: 式じゃないところってどこ>< あまちゃん: 宣言ぐらいじゃね ひとちゃん: で

    C 言語の配列について - IT戦記
    j7400157
    j7400157 2008/04/14
    ポインタと配列と文字列
  • 「 *s 」と「 s[] 」の違い - IT戦記

    沖林さんがんばれ! なんか、かわいそうになってきた><がんばってください! C/C++のポインタの機能--配列との関係 - builder by ZDNet Japan ところで 僕はちゃんと説明できるかな>< 少しでも言葉や概念が変だったら教えてください>< *s char *s = "hoge"; コードがロードされたときに文字列もメモリにロードされて、実行時にスタックにポインタ変数ができて文字列を指す。 文字列がロードされたメモリのページ(?)には、書き込み権限が付加されないので文字列の内容を書き換えることはできない。 .cstring str: .ascii "hoge" .text .globl _main _main: pushl $str ↑イメージ的にはこんな感じ s[] char s[] = "hoge"; コードがロードされたときに文字列もメモリにロードされ、実行時にス

    「 *s 」と「 s[] 」の違い - IT戦記
    j7400157
    j7400157 2008/04/14
    ポインタと配列と文字列
  • c - *sとs[]の違い : 404 Blog Not Found

    2008年04月04日03:00 カテゴリTips c - *sとs[]の違い これ、結構tricky。 The C Programmming Lanugage K&R 「 *s 」と「 s[] 」の違い - IT戦記 コメント欄にある「K&Rの5.3を読めばわかる」かというと多分わからない。それどころか P. 100 char s[]; and char *s; are equivalent; なんて書いてあるから余計わからなくなると思う。 なのだけど、すっごく簡単な覚え方がある。 答えは sの値を変更できるか 要するに char *s = "pointer"; printf("%s\n", ++s); はOKだけど、 char s[] = "array"; printf("%s\n", ++s); はNGということ。GCCなら error: wrong type argument to

    c - *sとs[]の違い : 404 Blog Not Found
    j7400157
    j7400157 2008/04/14
    ポインタと配列