// gap ↘ |123456| ↙ gap static int * a; static unsigned int ** b; static short int * c; static long int d; static int *** e; // gap ↗ |123456| ↖ gap // gap ↘ |12345678| ↙ gap int function_with_no_star_parameters (int parameter) // gap ↗ |12345678| ↖ gap { return 0; } // gap ↘ |12345678| ↙ gap int function_with_stars(int * f, unsigned int ** g, short int * h, long int i, int *** j) // gap ↗ |12345678| ↖ gap { // gap ↘ |123456| ↙ gap int * k; unsigned int ** l; short int * m; long int n; int *** o; // gap ↗ |123456| ↖ gap return 0; } // gap ↘ |12345678| ↙ gap int function_closer_than_16_lines_from_j(int * p, unsigned int ** q, short int * r, long int s, int *** t) // gap ↗ |12345678| ↖ gap { // gap ↘ |123456| ↙ gap int * u; unsigned int ** v; short int * w; long int x; int *** y; // gap ↗ |123456| ↖ gap /* The point of this comment is merely to make the * function longer than 16 lines. * * We're doing this to show that parameter alignment is * per parameter list, and that parameter lists from * multiple functions aren't lined up with each other. * * You can see that by noticing that function_with_stars and this * function don't have parameter lists aligned with each * other, and this function and the function below it are * too far away anyway. */ return 0; } // gap ↘ |12345678| ↙ gap int more_than_16_lines_from_t(int * z, unsigned int ** zz, short int * zzz, long int zzzz, int *** zzzzz) // gap ↗ |12345678| ↖ gap { // gap ↘ |123456| ↙ gap int * zzzzzz; unsigned int ** zzzzzzz; short int * zzzzzzzz; long int zzzzzzzzz; int *** zzzzzzzzzz; // gap ↗ |123456| ↖ gap return 0; }