Ponteiros são um dos mais poderosos - e mais difícil - características da linguagem de programação C . Ao trabalhar com ponteiros , muitas vezes é necessário para converter entre vários tipos diferentes de ponteiros. Às vezes, é possível converter diretamente de um tipo para outro , mas muitas vezes , especialmente em programas complexos, você pode achar que é necessário para armazenar um ponteiro que foi convertido a partir de um tipo , mas ainda não foi convertida em outro tipo de ponteiro. Nesse caso, você vai precisar usar um ponteiro nulo , o que representa um ponteiro sem tipo algum. Coisas que você precisa
C compilador C
programa
Show Mais instruções
1
Declare seu ponteiro nulo . Para tornar uma variável global ou local ou um campo em uma estrutura, escrever " void * p; " em uma linha vazia dentro da função ou estrutura associada , ou fora de todas as funções e estruturas para torná-lo global. Para adicionar um argumento ponteiro nulo para uma função, escrever " void * p" em lista de argumentos da função. Em ambos os casos , você pode substituir a letra "p" com qualquer nome de variável de sua escolha .
2
armazenar um valor na variável de ponteiro nulo . Se você fez uma variável local ou global, basta escrever " p = (void * ) x ; " . Substituir " x" com o nome do ponteiro digitado que você gostaria de converter para um ponteiro nulo . Se você fez um campo de estrutura , escreva "sp = ( void *) X ; " . Substituir " s ", com o nome da estrutura e " x ", com o nome do ponteiro . Se você fez um argumento de função , chamar a função assim: " f ( (void *) x) " . Substitua o " f" com o nome da função e "x " com o nome do ponteiro.
3
Para ler o valor do ponteiro nulo e convertê-lo de volta em um ponteiro digitado , escreva "x = (tipo *) p; ", onde " x" é o ponteiro digitado, "p" é o ponteiro nulo e "Tipo" é o tipo original do ponteiro que você armazenados em "p". Tenha o cuidado de obter o tipo correto, porque o compilador C vai obedientemente converter o ponteiro para qualquer tipo que pedir , se você está correto ou não. Isso pode levar a erros sutis que são difíceis de corrigir.