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

SIMPLE PYTHON HTTP SERVER

SIMPLE PYTHON HTTP SERVER In many use cases, we come across the situation where we need a simple server to test some command or test some applications. But creating a server programmatically is a time taking process. To solve the problem Python has created SimpleHTTPServer module. In this post, we will learn how to create a simple HTTP server in a single command on Ubuntu.  Create SimpleHTTPServe Using Commandline  python -m SimpleHTTPServer 8001 Above command will create a simple HTTP server for you at port 8001 Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Golang - Run & Compile

GOLANG RUN & COMPILE In the previous post, we have discussed how to install Go on Linux. In this post, We will discuss how to compile and run a Go program. Create folder HelloWorld mkdir HelloWorld cd HelloWorld Create file HelloWorld.go touch HelloWorld.go Copy below code into HelloWorld.go file package main import "fmt" func main() { fmt.Println("Hello, World") } Compile go build Run ./HelloWorld Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

BSNL Recruitment

BSNL Recruitment      Bharat Sanchar Nigam Limited (BSNL)  has released a notification for the post of   Management Trainees . Company Name BSNL Post Name    Management Trainees State India Salary Rs.  24,900-50,500 Number of Vacancy 300 Eligibility B.Tech Last Date 26-01-2019 Application Details Job Notification Apply Online Job Application BSNL Recruitment       Government Jobs in India Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. Rozgardesh ( रोजगार देश )

South East Central Railway: SECR

South East Central Railway: SECR Company Name         :  South East Central Railway: SECR Post Name                       :   Apprentice State                            :  Maharashtra Salary                           :  Number of Vacancy   :  313 Eligibility                     :  10th Pass  Last Date to Apply     :  15-09-2018 Application Details    :  Notification Apply Online              :  Apply Here Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.