FC2ブログ

Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

[T8] まとめ【配列とポインタ】

coutには2種類の改行の法方がある cout<<a<<endl; と cout<<a<<"\n"; 下の方が文
トラックバック URL
http://dokuzetudaisuki.blog100.fc2.com/tb.php/215-9286b1ed
この記事にトラックバックする(FC2ブログユーザー)

配列とポインタ

coutには2種類の改行の法方がある
cout<<a<<endl;

cout<<a<<"\n";
下の方が文字列を表示する時に使いやすい
cout<<"aaaaaaa\n";
上は
cout<<"aaaaaaa"<<endl;

\nの方が使いやすいので今度からこっちを使います。
endlはバッファをフラッシュする機能もあるみたいです。
くわしくはここのサイトさんがわかりやすい。
http://d.hatena.ne.jp/itsuki_kosen/20090109/1231492665


前回は関数に変数を渡していたが今後は配列です。

#include <iostream>
using namespace std;

void test(int *a){
 cout<<(size_t)&a[0]<<"\n";
 a[0]=a[0]+4;
 cout<<a[0]<<"\n";
}

int main(){
 static int a[5];//静的変数の値は0で初期化される
 cout<<(size_t)&a[0]<<"\n";
 test(&a[0]);
 cout<<a[0]<<"\n";

 getchar();
 return 0;
}

実行結果 
4218910
4218910
4
4


test関数に配列の最初のアドレスを渡しそれをポインタで操っています。
ここで重要なことは書き方で
test(&a[0])をtest(a)と書けるし、
void test(int *a)をvoid test(int a[ ])ともvoid test(int a[5])とも書くことができる。

この時のint a[]はポインタとまったく同じである。
  1.  void test(int *a)
  2.  void test(int a[ ])
  3.  void test(int a[5])
ちなみにこういう書き変えをシンクタックシュガー(甘くとっつきやすくするという意味)という
複雑にしているだけとは思うが・・・
関連記事
スポンサーサイト

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

[T8] まとめ【配列とポインタ】

coutには2種類の改行の法方がある cout&lt;&lt;a&lt;&lt;endl; と cout&lt;&lt;a&lt;&lt;"\n"; 下の方が文
トラックバック URL
http://dokuzetudaisuki.blog100.fc2.com/tb.php/215-9286b1ed
この記事にトラックバックする(FC2ブログユーザー)

Appendix

プロフィール

ジャン

Author:ジャン
年齢 不詳
趣味 ゲームとかインドア全般
夢  金持ちんこ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。

最新記事

フリーエリア

FC2カウンター

アクセスランキング

[ジャンルランキング]
日記
49563位
アクセスランキングを見る>>

[サブジャンルランキング]
その他
14669位
アクセスランキングを見る>>
にほんブログ村 その他日記ブログ 無職日記へ
人気ブログランキングへ

検索フォーム

ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。