Qual é a desvantagem de usar ponteiros em C?

a desvantagem que eu sei é que se você cometer um erro ao manusear os ponteiros pode até levar à queda de seu sistema ....
 
sundarmeenakshi, Os erros mais insidiosos ocorrer com ponteiros não inicializados. Suponha que um ponteiro tem um valor aleatório. Você pode armazenar dados e recuperá-lo usando o ponteiro. 1) * ponteiro = x. 2) x = * ponteiro. Isso funciona bem, desde que o endereço (aleatório), representado pelo ponteiro não é utilizado para qualquer outra coisa. Se o endereço é utilizada para qualquer outra coisa, então, que os dados (ou instrução) na localização representada pelo ponteiro será destruída pela execução de instrução 1 acima. Agora, vem a parte divertida: Suponha que você inserir uma instrução printf para tentar depurar o problema. Depois de recompilação, o endereço aleatório representado pelo ponteiro é usado para manter um outro pedaço de dados ou de instruções, e que o problema original desaparece, apenas para reaparecer em outro lugar no seu programa. . O uso de ponteiros disciplina requries. A regra número um é "brindes inicializar ponteiros". Se você tiver sorte, o seu compilador irá inicializar o valor do ponteiro para nulo (zero), o que irá resultar em um erro de tempo de execução na maioria dos ambientes. Atenciosamente, Kral
 
Thier seria desvantagens de ponteiros se você não tratá-los adequadamente. E, em alguns casos, não pode ser mais fácil de depurar.
 
eles são fáceis de entender, mas não usar corretamente. se você está dando uma estrutura em um parâmetro de função e se essa estrutura é grande, usando um ponteiro que você vai usar menos memória para o programa, executá-lo mais rápido. o mesmo ocorre com matrizes. eu acho que os ponteiros são essenciais para um programador por causa da velocidade e tamanho.
 
Os ponteiros são muito poderoso que lhe permite escrever um código rápido e eficiente. Eles são um dos pontos fortes da linguagem C. C código sem ponteiros é como cerveja sem alcahol, muito corpo, mas sem glamour. Não há desvantagens para os ponteiros em C.
 
Eu aconselharia btbass para dar uma olhada através de qualquer livro que ele está estudando .... quando um ponteiro não está devidamente intialised ou devidamente tratada pode ter a certeza de que algo ruim iria acontecer com PC ur .... um programa deve ser seguro em todas as circunstâncias ....
 
se ponteiro começou apontando para a memória do sistema reservada então ele pode causar instabilidade sytem. como janelas tem uma área específica na RAM reservada para OS, se torna um ponteiro cahnges a esta área, então ele irá ser um vírus como o funcionamento. como algumas coisas engraçadas abrir o nosso cd rom, que é apenas por acessar esta área
 
É tão fácil de estragar qualquer aspecto de um programa, utilizando variáveis ​​unintialised, misturando inteiros assinados e não assinados, não captura exceções, os ponteiros não são mais fáceis de estragar do que qualquer outro recurso. Ponteiros ajudá-lo a escrever código eficiente e elegante. Quando eu escrever um programa para um pc, eu uso c #, uma linguagem de programação moderna, que supera muitos dos equívocos que são fáceis de perder. Mas um monte de programação envolve oito micros pouco, e C é rei para este tipo de aplicação. Eu também uso a análise estática de código usando meu fiapos. Lint vai encontrar todos os tipos de bugs obscuros. Se o seu código está falhando por causa de ponteiros uninitialised, isso não é culpa do C! Mas sua falta de testes apropriados. Usando ponteiros devem ser incentivados, eles dão c sua borda.
 
Você também precisa ter certeza de que você referência e dereference eles propoerly, caso contrário, você estará usando o endereço em vez dos dados.
 

Welcome to EDABoard.com

Sponsor

Back
Top