Rumah > pembangunan bahagian belakang > C++ > Pembuangan teras (kesalahan segmentasi) dalam C/C++

Pembuangan teras (kesalahan segmentasi) dalam C/C++

PHPz
Lepaskan: 2023-09-19 17:21:03
ke hadapan
723 orang telah melayarinya

Pembuangan teras (kesalahan segmentasi) dalam C/C++

Dalam tutorial ini, kita akan membincangkan program untuk memahami lambakan teras (kesalahan segmentasi) dalam C/C++.

Ini mungkin berlaku kerana kod tersebut cuba menulis pada memori baca sahaja atau cuba mengakses lokasi memori yang rosak.

Contoh

Ubah suai rentetan literal

int main(){
   char *str;
   str = "GfG";
   *(str+1) = 'n';
   return 0;
}
Salin selepas log masuk

Mengakses di luar sempadan indeks tatasusunan

#include <iostream>
using namespace std;
int main(){
   int arr[2];
   arr[3] = 10;
   return 0;
}
Salin selepas log masuk

Mengakses alamat yang dikeluarkan

#include <stdio.h>
#include<alloc.h>
int main(void){
   int* p = malloc(8);
   *p = 100;
   free(p);
   *p = 110;
   return 0;
}
Salin selepas log masuk

Output

Abnormal termination of program
Salin selepas log masuk

Atas ialah kandungan terperinci Pembuangan teras (kesalahan segmentasi) dalam C/C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan