7 Years
Discussion Span
Last Post by monkey_king

plz help me to add two matrices using pointers..

1>Take two integer matrices say a[20],b[20],and a result matrix c[20],and two integer pointers pa and pb.

2>Assign the start address of arrays to these pointers.

3>Now if p points to a[0] then p+1 points to a[1] and you can even access it as *(p+1) which is equal to a[1].

4>By the above mentioned process go on adding two matrices by using *(p+i) and store it in c.


For the purpose of adding a one dimensional array works well enough in representing a matrix. For more complicated operations though, it would likely be easier to define a matrix like int mat[rows][cols];


I don't know much about C, but I think it's something like this:

#include <stdio.h>
#include <stdlib.h>

int main()
    /* Create pointers */
    int * matrix_one;
    int * matrix_two;

    /* Dynamically allocate memory for our matrices */
    matrix_one = (int*) calloc(50, sizeof(int));
    matrix_two = (int*) calloc(50, sizeof(int));

    /* Free up the allocated memory */

    return 0;

It depends on how you matrix is defined as a datastructure.

Sometimes they are defined as one long array.
Then you can just add the array elementwise.

If they are defined as double pointers,
then you should loop through the entire matrices in the sameorder.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.