日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 数组内存溢出 - C语言零基础入门教程

發布時間:2024/9/27 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 数组内存溢出 - C语言零基础入门教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一.數組內存溢出簡介
  • 二.數組內存溢出實例
  • 三.猜你喜歡

零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門

一.數組內存溢出簡介

溢出:想象一個桶,桶的容積是有限的,你裝滿了水以后,如何還要往里面裝,那么水就溢出到地面了。

C 語言中的溢出和這個原理一樣,桶的容積就表示你定義的某一數據的內存大小,往里面寫入數據就表示在裝水。

案例一:一個計時器,最大計 100s 的時,你讓他跑了 120 秒,它就溢出了;

案例二:兩個 unsignedchar,一個200,一個也是200,相加,結果也就溢出,因為 unsignedchar 最大就 255 ;

二.數組內存溢出實例

/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 數組內存溢出 //@Time:2021/06/10 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************/#include<stdlib.h> #include<stdio.h> void main() {unsigned char a[3] = {0};a[0] = 200;a[1] = 200;a[2] = a[0] + a[1]; //unsigned char 取值范圍:0~255 ,超出取值范圍printf("a:%d b:%d c:%d\n", a[0], a[1], a[2]);system("pause"); } /* 輸出: a:200 b:200 c:144 請按任意鍵繼續. . . */

在C語言中unsignedchar無符號字符類型取值范圍是0~255,很明顯a[2]=400,超出取值范圍,內存溢出!為什么a[2]=144?

當如果 unsignedchar 變量超過 255之 后,默認又繼續重 0 開始計算,例如:[int](https://www.codersrc.com/archives/7409.html) 類型 和 unsignedchar類型轉換:

int類型 和 unsigned char類型轉換int unsigned char254 254255 255256 0257 1258 2... ...399 143400 144// 400 - 255 = 144

在取值 0~255 的時候,int 和當如果 unsignedchar 一樣,當超出 255 之后,當如果 unsignedchar 繼續重 0 開始;

三.猜你喜歡

  • 安裝 Visual Studio
  • 安裝 Visual Studio 插件 Visual Assist
  • Visual Studio 2008 卸載
  • Visual Studio 2003/2015 卸載
  • C 語言格式控制符/占位符
  • C 語言邏輯運算符
  • C 語言三目運算符
  • C 語言逗號表達式
  • C 語言 sizeof 和 strlen 函數區別
  • C 語言 strcpy 和 strcpy_s 函數區別
  • C 語言 memcpy 和 memcpy_s 區別
  • C 語言 數組定義和使用
  • C 語言 數組遍歷
  • C 語言 數組排序 – 冒泡法排序
  • C 語言 數組排序 – 選擇法排序
  • C 語言 數組排序 – 插入法排序
  • C 語言 數組排序 – 快速法排序
  • C 語言 數組下標越界
  • C 語言 數組內存溢出
  • 未經允許不得轉載:猿說編程 ? C 語言 數組內存溢出

    總結

    以上是生活随笔為你收集整理的C语言 数组内存溢出 - C语言零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。