Passing table to a function
Jump to navigation
Jump to search
Passing a table to a function either via table type argument or by pointer.
<source lang="c"> /* gcc -std=c99 code.c */
- include "stdio.h"
- include "stdlib.h"
void function(int n, int tab[]) {
for(int i=0;i<n;i++) tab[i] = i*i;
}
void function_ptr(int n, int * p) {
for(int i=0;i<n;i++) *(p+i) = 2*i-1;
}
int main(int argc, char* argv[]) {
if(argc != 2)
{
printf("\tUsage:\t");
printf("%s",argv[0]);
printf(" <integer>\n");
}
else
{
int n = atoi(argv[1]);
int t[n];
printf("Passing table\n");
function(n,t);
for(int i=0;i<n;i++) printf("%d ",t[i]);
printf("\nPassing pointer\n");
function_ptr(n,&t[0]);
for(int i=0;i<n;i++) printf("%d ",t[i]);
printf("\n");
}
return 0;
} </source>