Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

คำนวณผลรวมสมาชิกอาร์เรย์ด้วย Pointers ในภาษา C

การใช้ Pointer เข้าถึงอาร์เรย์และหาผลรวม

Pointer เก็บที่อยู่ของตัวแปร ใช้ malloc จองหน่วยความจำสำหรับอาร์เรย์ แล้วเข้าถึงด้วย *(ptr + i)

การประกาศและใช้งาน Pointer

int *ptr;
ptr = (int *) malloc(n * sizeof(int));
// อ่านค่า
scanf("%d", ptr + i);
// เข้าถึงค่า
*(ptr + i)

โค้ด C คำนวณผลรวม

#include <stdio.h>
#include <malloc.h>

void main() {
    int i, n, sum = 0;
    int *ptr;
    printf("Enter size of array : \n");
    scanf("%d", &n);
    ptr = (int *) malloc(n * sizeof(int));
    printf("Enter elements in the List \n");
    for (i = 0; i < n; i++) {
        scanf("%d", ptr + i);
    }
    // calculate sum of elements
    for (i = 0; i < n; i++) {
        sum = sum + *(ptr + i);
    }
    printf("Sum of all elements in an array is = %d\n", sum);
    return 0;
}

ตัวอย่าง Output

Enter size of array: 5
Enter elements in the List
12 13 14 15 16
Sum of all elements in an array is = 70