| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Gli svantaggi di puntatori in C
    Nel linguaggio di programmazione C , puntatori negozio informazione indirizzo per locazioni di memoria nel computer. Essi permettono anche un programma per consentire chiedere al computer per la memoria (o memoria di " allocare" ) durante l'esecuzione. Perché i puntatori occupano memoria dinamicamente , sono dotati di certi pericoli e svantaggi , nonostante la loro necessità . Perdite di memoria

    Quando una memoria richieste programma attraverso l'uso di un puntatore , che puntatore deve continuamente riferimento alla memoria allocata . Se in qualsiasi momento una posizione di memoria allocata non ha un puntatore corrispondente ( se tutti i puntatori relativi alla memoria sono " punte" altrove) , che la memoria non può più essere letta dal programma . Questa memoria è ormai " orfano ". Tuttavia, il computer considera ancora questa memoria allocata . Come un programma viene eseguito continuamente , e le stesse linee di codice vengono eseguite milioni di volte , un errore di allocazione di memoria da un errore di puntatore possono riempire rapidamente la memoria disponibile con i dati inaccessibili , causando una perdita di memoria .
    puntatori nulli

    puntatori che non si riferiscono ad un indirizzo in memoria vengono chiamati puntatori " null" . Mentre servono funzioni utili in programmazione (come a significare errori di allocazione di memoria ) , un grave problema si verifica quando " dereferencing " un puntatore nullo ( dereferencing un puntatore significa per accedere ai dati in locazione di memoria a cui fa riferimento il puntatore ) . Quando un programma è scritto , nessuna sicurezza controlla gestire la dereferenziazione di un puntatore nullo . In effetti, un gran programma può solo dereferenziare accidentalmente un puntatore nullo , da qualche parte nel profondo milioni di righe di codice . Quando viene eseguito il codice, tuttavia, un puntatore nullo dereferenziato causerà un programma di crash .
    Buffer Overflow

    un sovraccarico di memoria ( o " buffer overflow " ) si verifica quando la memoria allocata da un puntatore non è abbastanza grande per l' ingresso rilevato. Ad esempio, se un programma alloca memoria per una parola lunga sette caratteri e riceve in ingresso una parola lunga nove caratteri , i due caratteri extra vengono memorizzati nella memoria di fuori della memoria puntatore sette caratteri . I due personaggi extra sovrascrivono qualsiasi cosa in esso contenute. Non vi è alcun modo per il programma di sapere cosa esistente in tali due posizioni di memoria extra. Essi potrebbero contenere dati sensibili per il programma (come variabili di programma ) , o anche per il computer stesso . Questo porta a " corruzione dei dati ", come i dati che avrebbero dovuto essere intatto all'esterno la memoria allocata è ormai compromessa .

    Previous :

    next :
      Articoli Correlati
    ·Come memorizzare una frase in un array in C + + 
    ·Requisiti di sistema per Turbo C 
    ·Come mettere un file di testo in un vettore di struct i…
    ·Come fare un orologio in C 
    ·Come cercare un Linked elenco di elementi in C + + 
    ·Come fare un progetto SDL nei blocchi di codice 
    ·Come rimuovere Microsoft Visual C + + Messaggi 
    ·Che cosa è CTS in ASP.NET 
    ·Come utilizzare codici di accesso in un array monodimen…
    ·Errori di sintassi in C + + 
      Articoli in evidenza
    ·Come confrontare le stringhe in JavaScript 
    ·Come inviare i cookie tra domini 
    ·Come dividere interi con passaggio di bit 
    ·Come rimuovere Esteri Sintassi Digitare MySQL 
    ·Come modificare i margini elemento utilizzando HTML Pro…
    ·Come caricare un ComboBox da un elenco Python 
    ·Come impostare una variante in SAP 
    ·Come calcolare l' esponenziale in Perl 
    ·Come Ottieni valori da ListBox per inviare a SQL 
    ·Come connettersi a SOAP da Java 
    Copyright © Conoscenza Informatica http://it.wingwit.com