中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c內存讀寫越界

發布時間:2020-03-20 10:53:53 來源:網絡 閱讀:2275 作者:skinglzw 欄目:編程語言

問題分析:

這種情況是指:訪問了你不應該/沒有權限訪問的內存地址空間,比如訪問數組時越界;對動態內存訪問時超出了申請的內存大小范圍。下面的程序就是一個典型的數組越界問題。pt是一個局部數組變量,其大小為4,p初始指向pt數組的起始地址,但在對p循環疊加后,p超出了pt數組的范圍,如果此時再對p進行寫操作,那么后果將不可預期。

#include <stdlib.h>

#include <stdio.h>


int main(int argc,char *argv[])

{

int len = 4;

int* pt = (int*)malloc(len*sizeof(int));

int * p=pt;

for(int i=0;i<len;i++)

{

p++;

}

*p=5;

printf("the value of equal:%d",*p);

return 0;

}

gcc -Wall test.c -g -o test

valgrind --tool=memcheck --leak-check=full ./test


c內存讀寫越界

輸出結果顯示,在該程序的第15行,進行了非法的寫操作;在第16行,進行了非法讀操作。準確地發現了上述問題。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

聊城市| 库尔勒市| 雷山县| 麻阳| 红河县| 汉寿县| 庆云县| 青河县| 韶山市| 尉犁县| 襄垣县| 武冈市| 大关县| 广灵县| 扶沟县| 浦县| 聂荣县| 迭部县| 遂昌县| 集安市| 万源市| 上思县| 兴宁市| 连城县| 开平市| 高淳县| 乌兰浩特市| 霍山县| 凌海市| 米脂县| 龙口市| 奈曼旗| 石棉县| 讷河市| 靖远县| 蒲江县| 乌拉特后旗| 仁布县| 铁岭市| 安顺市| 明星|