Pointers A pointer is basically a reference to an object or a function. In fact, it is a variable that holds memory address. This address is the location of some other variable or object in memory. For example, if one variable contains the address of another variable, first one is said to point to the second one. Pointers may have many uses, such as to make functions implement “call-by-reference” methodology and to construct dynamic arrays or structures at run-time. a) Write a complete C program that demonstrates the usage of call-by-reference technique needed for swapping. Develop a call-by-value version to see that changes done to the parameters inside the function are lost. b) Write a complete C program that implements below given user-defined function prototypes for arrays-of-integers. void input_1d_array( int*, int ); void output_1d_array( int*, int ); int sum_1d_array( int*, int ); float average_1d_array( int*, int ); Test each function separately! c) [if time allows] Implement below given user-defined string-handling function prototypes. void string_length( char* ); void string_copy( char*, char* ); void string_concatenate( char*, char*, char* ); Test each function separately!
Pointers
A pointer is basically a reference to an object or a function. In fact, it is a variable that holds memory address. This address is the
location of some other variable or object in memory. For example, if one variable contains the address of another variable, first
one is said to point to the second one. Pointers may have many uses, such as to make functions implement “call-by-reference”
methodology and to construct dynamic arrays or structures at run-time.
a) Write a complete C
Develop a call-by-value version to see that changes done to the parameters inside the function are lost.
b) Write a complete C program that implements below given user-defined function prototypes for arrays-of-integers.
void input_1d_array( int*, int );
void output_1d_array( int*, int );
int sum_1d_array( int*, int );
float average_1d_array( int*, int );
Test each function separately!
c) [if time allows] Implement below given user-defined string-handling function prototypes.
void string_length( char* );
void string_copy( char*, char* );
void string_concatenate( char*, char*, char* );
Test each function separately!
Step by step
Solved in 2 steps