Asignando optarg a un int en C
Estoy tratando de asignar un valor optarg a un int, pero el compilador me da la siguiente advertencia:
warning: assignment makes integer from pointer without a cast [enabled by default]
He intentado lanzar optarg como int antes de la asignación
n = (int) optarg;
pero aún así obtener una advertencia:
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
No estoy seguro de lo que se debe hacer antes de poder simplemente asignar el optarg a un entero y luego imprimirlo (por ahora).
int main (int argc, char *argv[])
{
char c;
int n;
while ((c = getopt(argc, argv, "m:")) != -1) {
switch (c) {
case 'm':
n = optarg;
break;
}
}
printf("%d\n", n);
return 0;
}