DataType * functionName( .... ) { ... } |
int *f() { ... this function will return a "pointer to int" ... } |
/* ==================================== f(A, i) returns the address of A[i] ==================================== */ int *f( int A[], int i ) { int *p; p = &A[i]; return p; // Shorter: return &A[i]; } int main(int argc, char *argv[]) { int A[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int *p, i; p = f( A, 4 ); *p = 4000; for ( i = 0; i < 10; i++ ) printf("%d ", A[i]); printf("\n\n"); } |
Output:
1 2 3 4 4000 6 7 8 9 10 |
How to run the program:
|