Estoy haciendo una copia en un vector, pero es precisamente lo que quiero evitar, mi interés en pasarle directamente la matriz pero que me tome la columna que le indique.
Estaba seguro que se podía hacer, aunque quizás ya estoy confundiendo lenguajes xd
Se puede, exactamente como te dije en mi respuesta anterior.
A la función le pasas un puntero al primer elemento de la columna (o a la matriz según te interese) y ahí haces los incrementos según las dimensiones.
Ejemplifico
le pasas el puntero a la columna, si quieres recorrer los elementos de la columna c, para recorrerla le vas sumando el número de elementos que tiene una fila, supongamos f. por lo tanto.
puntero_a_columna (que sería equivalente a &A[0][c]) <- dirección del primer elemento de la clomna c
puntero_a_columna + f <- dirección de memoria del segundo elemento...
Puedes controlar no salirte de la matriz con el número de columnas o un poco más laborioso con el número de elementos de la matriz.
También podrías hacer, si pasas el puntero a la matriz completa
A[i ][c] e ir incrementando la i, todo depende de como te venga mejor para lo que quieras hacer