Problemas com ponteiro char

Estou tendo problemas em usar o scanf em um ponteiro char, estou usando ponteiro pois preciso de um char ilimitado.

Segue o código:

#include <stdio.h>
#include <stdlib.h>

int main(){
      char *c;
      scanf("%s", &c);
      return 0;
}

Em C você sempre vai precisar limitar seus char. O que você pode fazer nesse caso é usar um array bem grande como buffer, por exemplo, de tamanho 1000 ou 10000.

Também pode ser usado alocação dinâmica. Por exemplo:
char *pontum; int tamanho; printf("Insira o tamanho da array:"); scanf(%d, &tamanho); pontum = malloc(tamanho * sizeof (char)); printf("O array agora tem %d elementos, do 0, até o %d", tamanho, (tamanho-1));
E outra coisa, nesse seu código, você está passando o endereço do ponteiro, e não o ponteiro em si. Por exemplo:
Você armazena uma array do tipo char com 1000 espaços, usando a seguinte linha:
char array[1000]
E logo depois passa seu endereço para um ponteiro(como é um vetor, não é necessário colocar o “&”):
char *pont = array;
Agora o valor de pont é o endereço do primeiro elemento da matriz. Portanto para passa-lo para scanf, você deve fazer assim:
scanf(%s, pont) ou ainda scanf(%s, array);
Esse caso é diferente do caso de você estar lendo um número:
int i = 0; int * pont = &i; scanf(%d, &pont);