Pointers in C
1. WAP to add two numbers using pointers
Code:
#include <stdio.h>
int main()
{
    int a = 10;
    int b = 20;
    int *x, *y;
    x = &a;
    y = &b;
    printf("\nSum: %d", *x + *y);
    printf("\n");
}
2. WAP to find maximum of two numbers using pointers
Code:
#include <stdio.h>
int main()
{
    int a = 10;
    int b = 20;
    int *x, *y;
    x = &a;
    y = &b;
    int greatest;
    if (*x > *y)
    {
        greatest = *x;
    }
    else
    {
        greatest = *y;
    }
    printf("\nGreatest: %d", greatest);
    printf("\n");
}
3. WAP to swap two numbers using call by value and call by reference
Code:
#include <stdio.h>
void callByReference(int *a, int *b)
{
    int tmp;
    tmp = *a;
    *a = *b;
    *b = tmp;
    printf("\nAfter Call by Reference Swap:\n");
    printf("A: %d\nB: %d", *a, *b);
}
void callByValue(int a, int b)
{
    int tmp;
    tmp = a;
    a = b;
    b = tmp;
    printf("\nAfter Call by Value Swap:\n");
    printf("A: %d\nB: %d", a, b);
}
int main()
{
    int A, B;
    printf("\nEnter value of A: ");
    scanf("%d", &A);
    printf("\nEnter value of B: ");
    scanf("%d", &B);
    callByValue(A, B);
    callByReference(&A, &B);
    printf("\n");
}
4. WAP to find sum of all elements of an Array using pointers
Code:
#include <stdio.h>
int arSum(int *ptr)
{
    int sum = 0;
    for (int i = 0; i < 5; i++)
    {
        sum = sum + *(ptr + i);
    }
    return sum;
}
int main()
{
    int ar[5];
    printf("Enter 5 Elements: \n");
    for (int i = 0; i < 5; i++)
    {
        scanf("%d", &ar[i]);
    }
    int sum = arSum(ar);
    printf("Sum: %d", sum);
    printf("\n");
}
5. WAP to sort an Array using pointers
Code:
#include <stdio.h>
void sort(int *ptr)
{
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 10; j++)
        {
            if (*(ptr + i) < *(ptr + j))
            {
                int tmp = *(ptr + i);
                *(ptr + i) = *(ptr + j);
                *(ptr + j) = tmp;
            }
        }
    }
}
int main()
{
    int ar[10];
    printf("Enter 10 Elements: \n");
    for (int i = 0; i < 10; i++)
    {
        scanf("%d", &ar[i]);
    }
    sort(ar);
    printf("\nAfter Sorting:\n");
    for (int i = 0; i < 10; i++)
    {
        printf("%d", *(ar + i));
        printf(" ");
    }
    printf("\n");
}