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

C /C++でのポインタのアプリケーション


配列要素にアクセスするには

ポインタを使用して配列要素にアクセスできます。

Cの場合

#include <stdio.h>
int main() {
   int a[] = { 60, 70, 20, 40 };
   printf("%d\n", *(a + 1));
   return 0;
}

出力

70

C++の場合

#include <iostream>
using namespace std;
int main() {
   int a[] = { 60, 70, 20, 40 };
   cout<<*(a + 1);
   return 0;
}

出力

70

動的メモリ割り当て

メモリを動的に割り当てるには、ポインタを使用します。

Cの場合

#include <stdio.h>
#include <stdlib.h>
int main() {
   int i, *ptr;
   ptr = (int*) malloc(3 * sizeof(int));
   if(ptr == NULL) {
      printf("Error! memory not allocated.");
      exit(0);
   }
   *(ptr+0)=1;
   *(ptr+1)=2;
   *(ptr+2)=3;
   printf("Elements are:");
   for(i = 0; i < 3; i++) {
      printf("%d ", *(ptr + i));
   }
   free(ptr);
   return 0;
}

出力

Elements are:1 2 3

C++の場合

#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
   int i, *ptr;
   ptr = (int*) malloc(3 * sizeof(int));
   if(ptr == NULL) {
      cout<<"Error! memory not allocated.";
      exit(0);
   }
   *(ptr+0)=1;
   *(ptr+1)=2;
   *(ptr+2)=3;
   cout<<"Elements are:";
   for(i = 0; i < 3; i++) {
      cout<< *(ptr + i);
   }
   free(ptr);
   return 0;
}

出力

Elements are:1 2 3

参照として関数に引数を渡す

ポインタを使用して、関数内の参照によって引数を渡し、効率を上げることができます。

Cの場合

#include <stdio.h>
void swap(int* a, int* b) {
   int t= *a;
   *a= *b;
   *b = t;
}
int main() {
   int m = 7, n= 6;
   swap(&m, &n);
   printf("%d %d\n", m, n);
   return 0;
}

出力

6 7

C++の場合

#include <iostream>
using namespace std;
void swap(int* a, int* b) {
   int t= *a;
   *a= *b;
   *b = t;
}
int main() {
   int m = 7, n= 6;
   swap(&m, &n);
   cout<< m<<n;
   return 0;
}

出力

67

リンクリストやツリーなどのデータ構造を実装するために、ポインタも使用できます。


  1. C / C ++文字列がintであるかどうかを確認するにはどうすればよいですか?

    文字列がintであるかどうかを確認する方法はいくつかあり、そのうちの1つは、isdigit()を使用して文字列を確認する方法です。 これは、文字列がC++言語でintであるかどうかを確認する例です。 例 #include<iostream> #include<string.h> using namespace std; int main() {    char str[] = "3257fg";    for (int i = 0; i < strlen(str); i++) {   &n

  2. C /C++の三項演算子

    作用するために3つのオペランドを必要とする演算子は、三項演算子として知られています。 「?」で表すことができます。 :」。条件演算子とも呼ばれます。オペレーターはパフォーマンスを向上させ、コード行を減らします。 これがC言語の三項演算子の構文です Expression1 ? Expression2 : Expression3 これがC言語の三項演算子の例です 例 #include <stdio.h> int main() {    int a = -1;    double b = 26.4231;    int c