Back to: Data Structures and Algorithms Tutorials

**Sum of all Elements in a Linked List using C Language with Examples:**

In this article, I am going to discuss How to find the **Sum of all elements in a Linked List using C Language** with Examples. Please read our previous article, where we discussed **Counting Nodes in a Linked List using C Language** with Examples.

**How to find the Sum of all elements in a Linked list?**

Here, we will write a function for finding the sum of all these elements in a linked list.

We want to add all these elements one by one. So, for adding we have to traverse all the nodes. We need a pointer for traversing the nodes. So let us write a function for adding all these values.

**Iterative Version:**

int Add(struct Node *p){ int sum = 0; while(p){ sum += p->data; p = p->next; } return(sum); }

Now let us write the same function for finding the sum of all the elements using recursion.

**Recursive Version:**

int Add(struct Node *p){ if(p == 0) return 0; else return Add(p->next) + p->data; }

The same recursive method we have already seen in the previous article where we were calculating the number of nodes in a linked list. Now let us write the full program in the C language.

**Program to find the Sum of all the Elements in a Linked List using C Language:**

#include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node *next; } *first = NULL; void Create(int A[], int n) { int i; struct Node *t, *last; first = (struct Node *) malloc (sizeof (struct Node)); first->data = A[0]; first->next = NULL; last = first; for (i = 1; i < n; i++) { t = (struct Node *) malloc (sizeof (struct Node)); t->data = A[i]; t->next = NULL; last->next = t; last = t; } } int Add(struct Node *p) { int sum = 0; while (p) { sum += p->data; p = p->next; } return (sum); } int RAdd(struct Node *p) { if (p == 0) return 0; else return RAdd(p->next) + p->data; } int main() { int A[] = { 8, 3, 7, 12 }; Create (A, 4); printf ("Sum %d\n", Add (first)); return 0; }

**Output:**

In the next article, I am going to discuss **How to Find the Maximum Element in a Linked List **using C Language with Examples. Here, in this article, I try to explain the Program for finding the **Sum of all elements in a Linked list in C Language** with Examples and I hope you enjoy this How to find the Sum of all elements in a Linked list in C Language with Examples article.

**About the Author: Pranaya Rout**

Pranaya Rout has published more than 3,000 articles in his 11-year career. Pranaya Rout has very good experience with Microsoft Technologies, Including C#, VB, ASP.NET MVC, ASP.NET Web API, EF, EF Core, ADO.NET, LINQ, SQL Server, MYSQL, Oracle, ASP.NET Core, Cloud Computing, Microservices, Design Patterns and still learning new technologies.