C-Programm zum Eingeben und Drucken von Array-Elementen mithilfe von Zeigern

C-Programm zum Eingeben und Drucken von Array-Elementen mithilfe von Zeigern

Schreiben Sie ein C-Programm, um Elemente in ein Array einzugeben und ein Array mit Zeigern zu drucken. Wie man Array-Elemente mit Pointer in der C-Programmierung eingibt und anzeigt.

Beispiel

Eingabe

Input array size: 10
Input elements: 1
2
3
4
5
6
7
8
9
10

Ausgabe

Array elements: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Erforderliche Kenntnisse

Grundlegende C-Programmierung, Array, Zeiger, Zeiger und Array

Wie man mit einem Zeiger auf ein Array zugreift

Array-Elemente im Speicher werden sequentiell gespeichert. Betrachten Sie zum Beispiel das gegebene Array und seine Speicherdarstellung

int arr[] = {10, 20, 30, 40, 50};

Wenn Sie einen Zeiger haben, sagen Sie ptr zeigt auf arr[0] . Dann können Sie einfach Zeigerarithmetik anwenden, um den Verweis auf das nächste Array-Element zu erhalten. Sie können entweder (ptr + 1) verwenden oder ptr++ auf arr[1] zeigen .

Programm zum Eingeben und Drucken von Array-Elementen mit Zeiger


/**
 * C program to input and print array elements using pointers
 */

#include <stdio.h>

#define MAX_SIZE 100 // Maximum array size

int main()
{
    int arr[MAX_SIZE];
    int N, i;
    int * ptr = arr;    // Pointer to arr[0] 

    printf("Enter size of array: ");
    scanf("%d", &N);

    printf("Enter elements in array:\n");
    for (i = 0; i < N; i++)
    {
        scanf("%d", ptr);

        // Move pointer to next array element
        ptr++;   
    }

    // Make sure that pointer again points back to first array element
    ptr = arr;

    printf("Array elements: ");
    for (i = 0; i < N; i++)
    {
        // Print value pointed by the pointer
        printf("%d, ", *ptr);

        // Move pointer to next array element
        ptr++;
    }

    return 0;
}

Aber warten Sie, bevor Sie mit dem nächsten Programm fortfahren. Es gibt eine andere Möglichkeit, das obige Programm zu schreiben. Ich muss sagen, dass der bessere Weg, mit Arrays mit Zeigern umzugehen, darin besteht, anstatt Zeiger zu inkrementieren, Zeigeraddition zu verwenden.

Programm zum Eingeben und Drucken von Arrays mithilfe von Zeigern - beste Vorgehensweise


/**
 * C program to input and print array elements using pointers
 */

#include <stdio.h>

#define MAX_SIZE 100 // Maximum array size

int main()
{
    int arr[MAX_SIZE];
    int N, i;
    int * ptr = arr;    // Pointer to arr[0] 

    printf("Enter size of array: ");
    scanf("%d", &N);

    printf("Enter elements in array:\n");
    for (i = 0; i < N; i++)
    {
        // (ptr + i) is equivalent to &arr[i]
        scanf("%d", (ptr + i));   
    }

    printf("Array elements: ");
    for (i = 0; i < N; i++)
    {
        // *(ptr + i) is equivalent to arr[i]
        printf("%d, ", *(ptr + i));
    }

    return 0;
}

Lassen Sie uns also endlich dasselbe Programm in Array-Notation schreiben, für diejenigen, die die Array-Notation der Zeiger-Notation vorziehen.

Programm zum Eingeben und Drucken von Arrays unter Verwendung von Zeigern in Array-Notation


/**
 * C program to input and print array elements using pointer in array notation
 */

#include <stdio.h>

#define MAX_SIZE 100 // Maximum array size

int main()
{
    int arr[MAX_SIZE];
    int N, i;
    int * ptr = arr;    // Pointer to arr[0] 

    printf("Enter size of array: ");
    scanf("%d", &N);

    printf("Enter elements in array:\n");
    for (i = 0; i < N; i++)
    {
        // &ptr[i] is equivalent to &arr[i]
        scanf("%d", &ptr[i]);   
    }

    printf("Array elements: ");
    for (i = 0; i < N; i++)
    {
        // i[ptr] is equivalent to arr[i], i[arr] and ptr[i]
        // I have used i[ptr] syntax for knowledge. You can also use ptr[i]
        printf("%d, ", i[ptr]);
    }

    return 0;
}

Bevor Sie fortfahren, vergewissern Sie sich, dass Sie gelernt haben, Arrays mit Rekursion zu lesen und zu drucken.

Ausgabe

Enter size of array: 10
Enter elements in array:
1
2
3
4
5
6
7
8
9
10
Array elements: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

Empfohlene Beiträge

  • Index der Übungen zur Array- und Matrixprogrammierung.
  • C-Programm zur Demonstration der Verwendung von Zeigern.
  • C-Programm zum Addieren von zwei Zahlen mit Zeiger.
  • C-Programm zum Vertauschen zweier Zahlen mit Zeiger.
  • C-Programm zum Kopieren eines Arrays in ein anderes mithilfe eines Zeigers.