Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語でのポインタアクセスの概念を説明する


ポインタは、他の変数のアドレスを格納する変数です。

ポインタの宣言、初期化、アクセス

次のステートメントを検討してください-

int qty = 179;

C言語でのポインタアクセスの概念を説明する

ポインタの宣言

int *p;

「p」は、別の整数変数のアドレスを保持するポインタ変数です。

ポインタの初期化

アドレス演算子(&)は、ポインタ変数を初期化するために使用されます。

int qty = 175;
int *p;
p= &qty;

C言語でのポインタアクセスの概念を説明する

文字列の配列内の要素にアクセスする際にポインタがどのように役立つかの例を考えてみましょう。

このプログラムでは、特定の場所に存在する要素にアクセスしようとしています。操作を使用して場所を見つけることができます。

事前にインクリメントされたポインタ文字列に事前にインクリメントされたポインタを追加し、32を減算することにより、その場所の値を取得します。

#include<stdio.h>
int main(){
   char s[] = {'a', 'b', 'c', '\n', 'c', '\0'};
   char *p, *str, *str1;
   p = &s[3];
   str = p;
   str1 = s;
   printf("%d", ++*p + ++*str1-32);
   return 0;
}

出力

77

説明

p = &s[3]. i.e p = address of '\n';
str = p; i.e str = address of p;
str1 = s; str1 = address of 'a';
printf ("%d", ++*p + ++*str1 - 32);
i.e printf("%d", ++\n + a -32);
i.e printf("%d", 12 + 97 -32);
i.e printf("%d", 12 + 65);
i.e printf("%d", 77);
Thus 77 is outputted

  1. ユニオンにC言語でのポインタを説明する

    ユニオンはメモリロケーションと呼ばれ、さまざまなデータ型のいくつかの変数によって共有されます。 構文 構文は次のとおりです- union uniontag{    datatype member 1;    datatype member 2;    ----    ----    datatype member n; }; たとえば、 union sample{    int a;    float b;    char c; }

  2. C#でクラスの概念を説明する

    クラスは、C#の必須タイプの1つです。クラスは、問題のドメインに関連するオブジェクトの青写真と考えることができます。これは、オブジェクトを作成するためのテンプレートであり、このクラスから作成されたオブジェクトのセットによって共有される構造と動作を定義します。簡単に言うと、クラスはCookieカッターであり、オブジェクトはCookie自体です。 クラスは、オブジェクト指向プログラミングの重要な概念であるカプセル化も可能にします。これは、データとデータを処理する操作を1か所で組み合わせ、そのオブジェクトのユーザーにシンプルなAPIを提供することを意味します。クラスを使用すると、データをカプセル化