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

Cでのrealloc()の使用


関数reallocは、mallocまたはcallocによって以前に割り当てられたメモリブロックのサイズを変更するために使用されます。

これがC言語でのreallocの構文です

void *realloc(void *pointer, size_t size)

ここで

ポインタ −mallocまたはcallocによって以前に割り当てられたメモリブロックを指しているポインタ。

サイズ −メモリブロックの新しいサイズ。

これがC言語のrealloc()の例です

#include <stdio.h>
#include <stdlib.h>
int main() {
   int n = 4, i, *p, s = 0;
   p = (int*) calloc(n, sizeof(int));
   if(p == NULL) {
      printf("\nError! memory not allocated.");
      exit(0);
   }
   printf("\nEnter elements of array : ");
   for(i = 0; i < n; ++i) {
      scanf("%d", p + i);
      s += *(p + i);
   }
   printf("\nSum : %d", s);
   p = (int*) realloc(p, 6);
   printf("\nEnter elements of array : ");
   for(i = 0; i < n; ++i) {
      scanf("%d", p + i);
      s += *(p + i);
   }
   printf("\nSum : %d", s);
   return 0;
}

出力

Enter elements of array : 3 34 28 8
Sum : 73
Enter elements of array : 3 28 33 8 10 15
Sum : 145

上記のプログラムでは、メモリブロックはcalloc()によって割り当てられ、要素の合計が計算されます。その後、realloc()はメモリブロックのサイズを4から6に変更し、それらの合計を計算します。

p = (int*) realloc(p, 6);
printf("\nEnter elements of array : ");
for(i = 0; i < n; ++i) {
   scanf("%d", p + i);
   s += *(p + i);
}

  1. ChromebookでSkypeを使用する方法

    Skypeは、インスタントメッセージング、音声通話、およびビデオ会議に最適なプラットフォームの1つです。スマートフォン、タブレット、ラップトップ、スマートスピーカー、コンソールなどでSkypeを使用できます。SkypeはChromebookでも完全に機能します。 新しいChromebookを購入した場合、古いノートパソコンをChromebookに変換した場合、またはChrome OSに慣れている場合は、SkypeforChromebookをインストールして使用する方法を説明します。 SkypeをChromebookにダウンロードしてインストールする ChromebookでSkypeに

  2. WindowsでPythonを使用する方法

    学習して使用するのに最適なプログラミング言語の1つとして、何百万人もの新しいコーダーがPythonの使用方法の学習に注意を向けているのも不思議ではありません。参入障壁が低く、すべての主要なオペレーティングシステムでPythonがサポートされているため、Webサイトからデスクトップゲーム(およびその他)までプロジェクトを構築できます。 Pythonは通常、macOSとLinuxにプリインストールされていますが、WindowsユーザーがプロジェクトでPythonの使用を開始する前に、ジャンプする必要のある追加のフープがいくつかあります。 WindowsでPythonを使用する方法を学びたい場合は