C 基本講座

ポインタのポインタについて

LinkedInラーニングの無料トライアルを今すぐ試そう

無料で視聴する すべての加入プランを見る
このレッスンでは、ポインタを指すポインタである「ポインタのポインタ」について説明します。
講師:
04:08

字幕

このレッスンでは、ポインタを指すポインタであるポインタのポインタについて説明します。ポインタの配列はポインタを使ってアクセスすることができます。このポインタを、ポインタのポインタと呼びます。このプログラムはポインタの配列を使って3つの格言を表示しているものです。まずは実行してみましょう。実行するとこのように格言を3つ表示します。ポインタの配列にはそれぞれ文字列リテラルのアドレスが格納されているのでそれを for ループで順番にprintf に渡すとそれぞれの格言を表示することができます。ポインタの変数や配列も普通の変数や配列と同様にメモリ上のどこかに存在し独自のアドレスを持っています。ですから、そのアドレスを更にポインタに格納することが可能です。これをポインタのポインタと呼びます。このプログラムのポインタの配列をポインタのポインタで指して格言を表示してみましょう。ポインタのポインタは、このようにポインタ宣言子のアスタリスクを2個使って宣言します。そこにこの maxim_p の先頭要素のアドレスを代入しています。このポインタのポインタを使って格言を表示するのにはこのように記述することができます。 この例では、このインデックスの i を更新しながら格言を表示しています。また、このように p++ でポインタのポインタを更新しながら表示することもできます。実行してみましょう。このように、格言を3個ずつ3つ表示しました。まず、このインデックスを使った例ですがポインタのポインタ p にはmaxim_p の先頭要素のアドレスが格納されています。そのため、*p でこの文字列リテラルのアドレスを取得します。このアドレスは最初の格言のアドレスですから%s で最初の格言を表示することができます。次に、*(p+1) では、次の1番目の要素を取り出すことができます。この要素は文字列リテラル、この格言のアドレスですから次の格言を表示できます。同様に *(p+2) は最後の格言を表示することができます。次にポインタのポインタを更新するこの例について説明します。先程と同様に、ポインタのポインタ p にはmaxim_p の先頭要素のアドレスが格納されているので*p で最初の格言のアドレスを取り出すことができます。そして p++ すると*p で次の要素を指すことができます。そのため、次の要素の文字列リテラルのアドレスを使ってこの格言を表示することができます。 同様に、p++ すると次の2番目の要素を指すようになるので最後の格言を表示することができます。このレッスンでは、ポインタを指すポインタであるポインタのポインタについて説明しました。

C 基本講座

C言語はUNIXというOSを記述するために開発されたプログラミング言語で、組み込みシステムの開発を中心に今も使われています。このコースでは簡単なプログラムを作成しながら、C言語の基本的な文法を学びます。データ型や制御文などの基礎的な文法からポインタや構造体といったC言語の特徴的な内容まで幅広く取り上げます。よく使われる標準ライブラリ関数も数多く紹介します。

5時間45分 (60 ビデオ)
現在、カスタマーレビューはありません…
ソフトウェア・トピック
プラン加入者限定
発売日:2017年11月05日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。