More Related Content
PPTX
C言語ポインタ講座 (Lecture of Pointer in C) PPTX
PPTX
PDF
PDF
PDF
PDF
PDF
What's hot
PDF
PPTX
TQC+ 程式語言 Python 02:運算式、判斷式 PDF
PPTX
TQC+ 程式語言 Python 04:進階控制流程 PDF
AtCoder Regular Contest 039 解説 PDF
PDF
PDF
PPTX
PPTX
PDF
PPTX
TQC+ 程式語言 Python 07:數組、字典、集合 PDF
Scala 初心者が米田の補題を Scala で考えてみた PDF
競技プログラミングにおけるコードの書き方とその利便性 PPT
PPT
PDF
AtCoder Beginner Contest 018 解説 PPT
Strings Functions in C Programming PPTX
Input and Output In C Language PDF
Viewers also liked
PDF
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp PDF
PDF
PDF
PPTX
PDF
PDF
Python と型ヒント (Type Hints) PPTX
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015 PPTX
AtCoder Beginner Contest 012 解説 PPTX
Engaging Students Virtually Throughout the Enrollment Cycle PPSX
PDF
Climbing Off The Ladder, Before We Fall Off PPTX
Buyer Persona - Key to B2B online marketing success PPT
Pedagogical Strategies for Worthwhile Learning in Online Environments PDF
Business Analytics with R PDF
PDF
Unityを使ったVRアプリ作成入門 ABCD2015金沢編 PPT
PDF
Transformation or Transition PPTX
Medier i en digital verden 150922 Similar to C++と仲良くなるためのn問 ~ポインタ編~ #ladiescpp
PDF
PPTX
PPTX
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第5回 「配列 と レコード 」 PDF
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„ PDF
PPTX
PDF
PDF
PDF
PDF
PDF
boost::shared_ptr tutorial PDF
PPTX
AtCoder Beginner Contest 004 解説 PPTX
PDF
PDF
PPTX
PPTX
PDF
PPTX
More from cocodrips
PDF
PDF
PDF
チームメイトのためにdocstringを書こう! pyconjp2019 PDF
PDF
Python update in 2018 #ll2018jp PDF
Simple is better than complex. ~私がPythonを愛する理由~ PDF
PDF
Recently uploaded
PDF
20260119_VIoTLT_vol22_kitazaki_v1___.pdf PDF
TomokaEdakawa_職種と講義の関係推定に基づく履修支援システムの基礎検討_HCI2026 PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S... PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望 PDF
maisugimoto_曖昧さを含む仕様書の改善を目的としたアノテーション支援ツールの検討_HCI2025.pdf PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」 PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf PDF
アジャイル導入が止まる3つの壁 ─ 文化・他部門・組織プロセスをどう乗り越えるか C++と仲良くなるためのn問 ~ポインタ編~ #ladiescpp
- 1.
- 2.
自己紹介
2
名前 : くーむ( o・ω・)ノ
Twitter : @cocodrips
職業 : ゲームプログラマ(2年目)
すきなもの : Python / C++
ブログ : ぴよぴよ.py
C++歴 : 2500行くらい (初心者)
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
11
4 3 102 1
100(アドレス) 108
Q2 - 1. *array をcoutするとどうなる?
Q2.ポインタと配列
int array[5] = {4, 3, 10, 2, 1};
104 112 116
1. コンパイルエラー
2. 100
3. 4
- 11.
12
4 3 102 1
100(アドレス) 108
Q2.ポインタと配列
int array[5] = {4, 3, 10, 2, 1};
104 112 116
*array は、
array[0] のエイリアス
1. コンパイルエラー
2. 100
3. 4
Q2 - 1. *array をcoutするとどうなる?
- 12.
13
4 3 102 1
100(アドレス) 108
Q2 - 2. *(array + 4) をcoutするとどうなる?
Q2.ポインタと配列
int array[5] = {4, 3, 10, 2, 1};
104 112 116
1. コンパイルエラー
2. 104
3. 3
4. 1
- 13.
14
4 3 102 1
100(アドレス) 108
Q2 - 2. *(array + 4) をcoutするとどうなる?
Q2.ポインタと配列
int array[5] = {4, 3, 10, 2, 1};
104 112 116
1. コンパイルエラー
2. 104
3. 3
4. 1
array + 4 は array[4]のアドレス
*(array + 4) は
array[4] のエイリアス
- 14.
15
Q3 - 1.&array が100である時、
arrayの中身はどう配置されてる?
Q3.ポインタと多次元配列
int array[3][3] = {{0, 1, 2},
{3, 4, 5},
{6, 7, 8}};
0 1 2 3 4 5 6 7 81.
0 1 2 … … 3 4 5 … … 6 7 82.
100(アドレス)
100(アドレス)
- 15.
16
Q3 - 1.&array が100である時、
arrayの中身はどう配置されてる?
Q3.ポインタと多次元配列
int array[3][3] = {{0, 1, 2},
{3, 4, 5},
{6, 7, 8}};
0 1 2 3 4 5 6 7 81.
0 1 2 … … 3 4 5 … … 6 7 82.
100(アドレス)
100(アドレス)
- 16.
17
Q3.ポインタと多次元配列
int array[3][3] ={{0, 1, 2},
{3, 4, 5},
{6, 7, 8}};
0 1 2 3 4 5 6 7 8
100(アドレス) 104 108 112 116 120 124 128 132
Q3 -2. array[2] をcoutすると、何が表示される?
1. コンパイルエラー
2. 108
3. 124
4. 2
5. 6
- 17.
18
Q3.ポインタと多次元配列
int array[3][3] ={{0, 1, 2},
{3, 4, 5},
{6, 7, 8}};
0 1 2 3 4 5 6 7 8
100(アドレス) 104 108 112 116 120 124 128 132
array[2]が指しているのは、
array[2][0]のアドレス。
Q3 -2. array[2] をcoutすると、何が表示される?
1. コンパイルエラー
2. 108
3. 124
4. 2
5. 6
- 18.
19
Q3 - 3.array[1][2]に一次元でアクセスしたい時、
どうすれば5が表示される?
Q3.ポインタと多次元配列
int array[3][3] = {{0, 1, 2},
{3, 4, 5},
{6, 7, 8}};
- 19.
20
Q3.ポインタと多次元配列
int array[3][3] ={{0, 1, 2},
{3, 4, 5},
{6, 7, 8}};
((int*)array)[5];
arrayはint**型で、array[0]の先頭アドレス、
つまりarray[0][0]のアドレスを持っている。
int*型にキャストすれば、一次元でアクセス可能
Q3 - 3. array[1][2]に一次元でアクセスしたい時、
どうすれば5が表示される?
- 20.
- 21.
22
Q4. おまけ
int array[5]= {4, 3, 10, 2, 1};
Q4. 何が表示される?
cout << 2[array] << endl;
10
array[2]は *(array + 2)のエイリアス。
array[2] == *(array + 2)
*(array + 2) == *(2 + array)
*(2 + array) == 2[array]
- 22.
Editor's Notes
- #12 配列はこうやって連続的なアドレスに配置される