Skip to main content

Function and Array in C

Function and Array in C

In this tutorial, we will learn about function and array in the C programming language like how to pass and use and one dimension and multi-dimension array in C program.

One-Dimension Array and Function in C

While passing arrays as arguments to the function, only the name of the array is passed
 #include <stdio.h>  
 float average(float number[])  
 {  
   int i;  
   float avg, sum = 0.0;  
   for (i = 0; i < 6; ++i) {  
     sum += age[i];  
   }  
   avg = (sum / 6);  
   return avg;  
 }  
 int main()​  
 {  
   float avg, number[] = { 23.4, 55, 22.6, 3, 40.5, 18 };  
   avg = average(number); // Only name of array is passed as argument.  
   printf("Average age=%.2f", avg);  
   return 0;  
 }  

Two-Dimension Array and Function in C

When dimensions available globally we can pass two dimension array and use it similar to one dimension array.
Example
 #include <stdio.h>   
 const int M = 3;   
 const int N = 3;   
 void print(int arr[M][N])   
 {   
   int i, j;   
   for (i = 0; i < M; i++)   
    for (j = 0; j < N; j++)   
     printf("%d ", arr[i][j]);   
 }   
 int main()   
 {   
   int arr[M][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};   
   print(arr);   
   return 0;   
 }   
But when dimensions are not available globally then we have to use a pointer in order to pass an array to a function in c.
Example
 #include <stdio.h>   
 void print(int *arr, int m, int n)   
 {   
   int i, j;   
   for (i = 0; i < m; i++)   
    for (j = 0; j < n; j++)   
     printf("%d ", *((arr+i*n) + j));   
 }   
 int main()   
 {   
   int arr[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};   
   int m = 3, n = 3;   
   print((int *)arr, m, n);   
   return 0;   
 }   

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.


Comments

Popular posts from this blog

OFFSET in Computer Science

OFFSET in Computer Science In the post, We will understand what is the meaning of OFFSET in computer science with an example. In computer science offset comes picture at may place like packing a data structure, encoding the data etc in some standard protocol so that other parties can deserialise it and understand the data. We will understand its important how does it work with example. suppose we have a data structure for a student like { name:string[20] roll: int[4] course: string[25] batch: int[4] } We want to serialise below student data  { name:"Amit Gupta" roll: 1234 course:Computer Science" batch: 2018 } Our protocol follow the rule that we will insert a value and if space will remain empty we will fill it with $ for example length of "Amit Gupta" is 10 but standard size is 20 so will fill 10 $ after "Amit Gupta". So serialisation of above data will be Amit Gupta$$$$$$$$$$1234Computer Sc...

Pointer In C Programming Language

Pointer In C Programming Language In this post, We will learn about pointer in C programming language. Introduction Pointers in C programming language is a variable that stores the memory address of another variable. A pointer in C is used to allocate memory dynamically i.e. at runtime. The pointer variable might be belonging to any of the data types such as int, float, char, double, short etc. Important Points About Pointer in C: Pointer stores the address of a variable whereas a normal variable stores the value.   The content of the C pointer always be a whole number i.e. address. Default C pointer is initialized to null, i.e. int *p = null. The value of the null pointer is 0. & symbol is used to get the address of the variable. * symbol is used to get the value of the variable that the pointer is pointing to. If a pointer in C is assigned to NULL, it means it is pointing to nothing. Two pointers can be subtracted to know how many elements are available...

Convert String To Byte Array in Python

Convert String To Byte Array in Python In this post, We will learn how to convert a string into a byte array in python programming language. def string_to_byte_array(string): byteArray = [] for c in string: byteArray = byteArray.append(ascii(c)) print (string_to_byte_array("Rozgardesh")) Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.