Converter strings em números usando C

Bem, as funções mais úteis quando precisamos passar parâmetros como argumentos da linha de comando do seu programa, são as funções que convertem palavras em variáveis numéricas. Para recordar as mais intuitivas são:

int atoi(char *p)
converte uma string armazenada em p num tipo int;

float atof(char *p)
para converter ao tipo float;

unsigned long int strtoul(char *p, char *q, int base)
novamente p é a string a ser convertida, q é a string para armazenar os caracteres desprezados na conversão, nunca precisei usar uma variável q diferente de NULL como parâmetro, pois nunca precisei armazenar nada além do parâmetro numérico e base uso geralmente a base decimal passando o valor 10, o resultado é uma variável do tipo unsigned long int;

double strtod(char *p, char *q)
o mesmo raciocínio para a função acima, só que desta vez não precisamos escolher a base numérica para a dupla precisão, geralmente passo NULL no lugar de q, visto que nunca precisei estocar caracteres despresíveis na conversão.