Cプログラミングのポインター:ポインター、タイプ、例とは

Cのポインタとは何ですか?

Cのポインタは、別の変数のアドレスを格納する変数です。ポインタを使用して、別のポインタ関数を参照することもできます。ポインタはインクリメント/デクリメントできます。つまり、次/前のメモリ位置を指すことができます。ポインタの目的は、メモリスペースを節約し、実行時間を短縮することです。

Cでポインタを使用する方法

int型の変数vを宣言すると、vは実際に値を格納します。

vはゼロになりました。

ただし、値以外の各変数にもアドレスがあります(または、簡単に言えば、メモリ内のどこにあるか)。アドレスは、変数名の前にアンパサンド(&)を付けることで取得できます。

変数のアドレスを画面に出力すると、次のように表示されます。完全に乱数のように(さらに、実行ごとに異なる場合があります)。

Cのポインターを使用して実際にこれを試してみましょう。例

このプログラムの出力は-480613588です。

さて、ポインタとは何ですか?値を格納する代わりに、ポインタは変数のアドレスを格納します。

ポインタ変数

Int * y = & v;

変数

POINTER

名前付きストレージ/メモリアドレスに格納されている値

別の変数のストレージ/メモリアドレスを指す変数

ポインターの宣言

変数と同様に、Cプログラムのポインターmmingは、プログラムで使用する前に宣言する必要があります。ポインタは、Cの命名規則に従っている限り、任意の名前を付けることができます。ポインタ宣言の形式は次のとおりです。

data_type * pointer_variable_name;

ここでは

  • data_typeは、Cの変数型のポインターの基本型であり、ポインターが指す変数の型を示します。
  • アスタリスク(*:使用されるのと同じアスタリスク乗算の場合)、これは間接演算子であり、ポインタを宣言します。

このCポインタチュートリアルでいくつかの有効なポインタ宣言を見てみましょう。

ポインタを初期化します

ポインタを宣言した後、標準変数のように変数アドレスで初期化します。 Cプログラミングのポインターが初期化されておらず、プログラムで使用されていない場合、結果は予測できず、悲惨な結果になる可能性があります。

変数のアドレスを取得するには、アドレスが必要な変数の名前の前に配置されたアンパサンド(&)演算子を使用します。ポインタの初期化は、次の構文で行われます。

ポインタ構文

 pointer = &variable; 

ポインタを説明するための簡単なプログラムを以下に示します。

出力:

Address stored in a variable p is:60ff08Value stored in a variable p is:10
演算子 意味
* 2つの目的を果たします

  1. ポインタの宣言
  2. 参照された変数の値を返します
& 1つの目的のみを提供

  • 戻り値変数のアドレス

Cのポインタの種類

Cのさまざまなタイプのポインタは次のとおりです。

ヌルポインタ

ポインタ宣言中にnull値を割り当てることにより、nullポインタを作成できます。この方法は、ポインタにアドレスが割り当てられていない場合に役立ちます。ヌルポインタには常に値0が含まれます。

次のプログラムは、ヌルポインタの使用法を示しています。

#include <stdio.h>int main(){int *p = NULL; //null pointerprintf("The value inside variable p is:\n%x”,p);return 0;}

出力:

The value inside variable p is:0

ボイドポインタ

Cプログラミングでは、ボイドポインタは汎用ポインタとも呼ばれます。標準のデータ型はありません。 voidポインタは、キーワードvoidを使用して作成されます。任意の変数のアドレスを格納するために使用できます。

次のプログラムは、voidポインタの使用法を示しています。

#include <stdio.h>int main(){void *p = NULL; //void pointerprintf("The size of pointer is:%d\n",sizeof(p));return 0;}

出力:

The size of pointer is:4

ワイルドポインタ

ポインタが何にも初期化されていない場合、ポインタはワイルドポインタと呼ばれます。これらのタイプのCポインタは、未知のメモリ位置を指している可能性があり、プログラムで問題が発生したり、プログラムがクラッシュしたりする可能性があるため、効率的ではありません。ワイルドポインタを操作するときは、常に注意する必要があります。

次のプログラムは、ワイルドポインタの使用法を示しています。

#include <stdio.h>int main(){int *p; //wild pointerprintf("\n%d",*p);return
read more

WindowsデュアルブートPCからUbuntuを安全にアンインストールする方法

デュアルブート構成でWindowsと一緒にPCにUbuntuをインストールしました。

しかし、何らかの理由で、物事はうまくいきませんでした。おそらく、いくつかのバグに遭遇したか、「WindowsからLinuxに移行する準備ができていないと感じただけです。

read more

不安と耳鳴り

これらの症状は、不安障害またはその他の精神的健康障害に起因する可能性があり、身体的症状を引き起こすことがあります。それらはまた、大きな音や他の条件への暴露に関連している可能性があります。症状とその発生時期を追跡することが重要です。厄介な症状がある場合は、医師に相談してください。

read more

マクドナルドは何時にランチを提供し始めますか?

ほとんどの人は「マクドナルドはいつランチを提供しますか?」と質問します。

マクドナルドが大多数を占めています。はフランチャイズ所有であるため、オーナーは自分のビジネスに合ったランチスケジュールを設定できます。ただし、マクドナルドのほとんどは、月曜日から金曜日の午前10時30分、土曜日と日曜日の午前11時からランチを提供し始めます。

read more

健康な女性

RashmiKudesia博士による医学的レビュー

脱力感、頭痛、さらには息切れも感じます。これらの症状は一般的ですが、より大きな問題である鉄欠乏性貧血(IDA)を示している可能性があります。 IDAは、鉄分摂取量の不足や栄養素の吸収不足に関連している場合がありますが、ほとんどの場合、月経が重いなどの失血が原因です。

read more

フレッシュピーチパイ

フレッシュピーチパイは、ピーチシーズンに欠かせないアイテムです。焼きたての桃を焼きパイの殻に重ね、自家製の桃の釉薬をトッピングします。家族のお気に入り!

私たちの甘いナナ(私の夫の祖母)は…今年の4月に亡くなりました。それはかなり突然で、私たちは彼女をひどく恋しく思います。彼女は最高の料理人で、いつも家族のためにおいしい料理を作っていました。毎週日曜日、私たちが訪ねてきたとき、彼女は私たちを待っている新しいおやつを持っていました。彼女が有名だったレシピはたくさんありました。彼女はまた、InstagramやPinterestで見る新しいレシピを試すのが大好きでした。彼女はあなたの典型的なナナではありませんでした!彼女はそれでそうだったし、すべてのことについて最新でした。彼女はまた、これまでで最も協力的なナナでした!彼女は私たちの子供のゲームやリサイタルのすべてに来るでしょう。彼らを応援し、そこにいて幸せです。彼女は単に最高でした。ナナが大好き! read more