国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

內(nèi)存四區(qū)(個人學習筆記黑馬學習)

這篇具有很好參考價值的文章主要介紹了內(nèi)存四區(qū)(個人學習筆記黑馬學習)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、內(nèi)存分區(qū)模型

C++程序在執(zhí)行時,將內(nèi)存大方向劃分為4個區(qū)域:

  • 代碼區(qū):存放函數(shù)體的二進制代碼,由操作系統(tǒng)進行管理的
  • 全局區(qū):存放全局變量和靜態(tài)變量以及常量
  • 棧區(qū):編譯器自動分配釋放,存放函數(shù)的參數(shù)值,局部變量等

堆區(qū):由程序員分配和釋放,若程序員不釋放,程序結(jié)束時由操作系統(tǒng)回收


2、代碼區(qū)

  • 存放CPU執(zhí)行的機器指令
  • 代碼區(qū)共享的目的是對于頻繁被執(zhí)行的程序,只需要在內(nèi)存中有一份代碼即可
  • 代碼區(qū)只讀使其只讀的原因是防止程序意外地修改了它的指令

3、全局區(qū)

  • 全局變量靜態(tài)變量字放在此
  • 全局區(qū)還包含了常量區(qū)字符串常量其他常量已存放在此
  • 該區(qū)域的數(shù)據(jù)在程序結(jié)束后由操作系統(tǒng)釋放

全局變量、靜態(tài)變量、字符串常量、const修飾的全局變量

#include <iostream>
using namespace std;

//全局變量
int g_a = 10;
int g_b = 10;

//const修飾的全局變量,全局常量
const int c_g_a = 10;
const int c_g_b = 10;

int main() {


	
	//創(chuàng)建普通局部變量
	int a = 10;
	int b = 10;

	cout << "局部變量a的地址為:" << (int) & a << endl;
	cout << "局部變量b的地址為:" << (int) & b << endl;

	cout << "全局變量a的地址為:" << (int)&g_a << endl;
	cout << "全局變量b的地址為:" << (int)&g_b << endl;

	//靜態(tài)變量
	static int s_a = 10;
	static int s_b = 10;

	cout << "靜態(tài)變量a的地址為:" << (int)&s_a << endl;
	cout << "靜態(tài)變量b的地址為:" << (int)&s_b << endl;


	//常量
	//字符串常量
	cout << "字符串常量的地址為:" << (int)&"hello world" << endl;

	//const修飾的變量
	//const修飾的全局變量,const修飾的局部變量
	cout << "全局變量c_g_a的地址為:" << (int) & c_g_a << endl;
	cout << "全局變量c_g_b的地址為:" << (int)&c_g_b << endl;

	const int c_l_a = 10;  //g:global全局  c:local局部、
	const int c_l_b = 10;

	cout << "局部常量c_l_a的地址為:" << (int)&c_l_a << endl;
	cout << "局部常量c_l_b的地址為:" << (int)&c_l_b << endl;




	system("pause");
	return 0;
}
內(nèi)存四區(qū)(個人學習筆記黑馬學習),c++學習筆記,學習,筆記,c++

4、棧區(qū)

由編譯自動分配釋放,存放函數(shù)的參數(shù)值,局部變是等。

注意事項:不要返回局部變量的地址,棧區(qū)開辟的數(shù)據(jù)由編譯器自動釋放

形參、局部變量

#include <iostream>
using namespace std;

int* func(int b) {//形參數(shù)據(jù)也會放在棧區(qū)

	b = 100;
	int a = 10;//局部變量 存放在棧區(qū), 棧區(qū)數(shù)據(jù)在函數(shù)執(zhí)行完后自動釋放
	return &a;//返回局部變量的地址
}


int main() {

	int* p = func(1);
	cout << *p << endl;//第一次可以打印正確的數(shù)字,是因為編譯器做了保留
	cout << *p << endl;//第二次這個數(shù)據(jù)就不在保留


	system("pause");
	return 0;
}

內(nèi)存四區(qū)(個人學習筆記黑馬學習),c++學習筆記,學習,筆記,c++


5、堆區(qū)

由程序員分配釋放,若程序員不釋放,程序結(jié)束時由操作系統(tǒng)回收

在C++中主要利用new在堆區(qū)開辟內(nèi)存

#include <iostream>
using namespace std;

int* func() {
	//利用new關(guān)鍵字 可以將數(shù)據(jù)開辟到堆區(qū)

	int *p=new int(10);
	return p;
}

int main() {

	int* p = func();
	cout << *p << endl;

	system("pause");
	return 0;
}

內(nèi)存四區(qū)(個人學習筆記黑馬學習),c++學習筆記,學習,筆記,c++文章來源地址http://www.zghlxwxcb.cn/news/detail-691018.html


6、new運算符

#include <iostream>
using namespace std;

//1、new的基本語法
int* func() {

	//在堆區(qū)創(chuàng)建整型數(shù)據(jù)
	//new返回是 該數(shù)據(jù)類型的指針
	int* p = new int(10);
	return p;
}



void test01() {
	int* p = func();
	cout << *p << endl;
	cout << *p << endl;
	cout << *p << endl;
	//堆區(qū)的數(shù)據(jù),由程序員管理開辟,程序員管理釋放
	//如果想釋放堆區(qū)的數(shù)據(jù),利用關(guān)鍵字delete
	delete p;
	//cout << *p << endl;//內(nèi)存已經(jīng)被釋放,再次訪問就是非法操作,會報錯
}

//2、在堆區(qū)利用new開辟數(shù)組
void test02() {
	//創(chuàng)建10個整型數(shù)據(jù)的數(shù)組,在堆區(qū)
	int*arr=new int[10];//10代表數(shù)組有10個元素

	for (int i = 0; i < 10; i++) {
		arr[i] = i + 100;//給10個元素賦值100~109
	}

	for (int i = 0; i < 10; i++) {
		cout << arr[i] << endl;
	}

	//釋放堆區(qū)數(shù)組
	//釋放數(shù)組的時候,要加[]才可以
	delete[] arr;
}

int main() {

	test01();

	test02();


	system("pause");
	return 0;
}

到了這里,關(guān)于內(nèi)存四區(qū)(個人學習筆記黑馬學習)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 封裝(個人學習筆記黑馬學習)

    封裝(個人學習筆記黑馬學習)

    設計一個學生類,屬性有姓備和學號,可以給姓名和學號賦值,可以顯示學生的姓名和學號 1. public公共權(quán)限 2. protected 保護權(quán)限 3. private私有權(quán)限 struct 默認權(quán)限為公共 class默認權(quán)限為私有 設計立方體類(Cube) 求出立方體的面積和體積 分別用全局函數(shù)和成員函數(shù)判斷兩個立方體

    2024年02月10日
    瀏覽(17)
  • 運算符(個人學習筆記黑馬學習)

    運算符(個人學習筆記黑馬學習)

    ?加減乘除 取模?? 自增自減? ?? 邏輯非! 邏輯與? 邏輯或||?

    2024年02月11日
    瀏覽(46)
  • 跳轉(zhuǎn)語句(個人學習筆記黑馬學習)

    跳轉(zhuǎn)語句(個人學習筆記黑馬學習)

    ? ? ? 如果是奇數(shù)輸出,偶數(shù)不輸出 ? ?

    2024年02月11日
    瀏覽(23)
  • 運算符重載(個人學習筆記黑馬學習)
  • 通訊錄管理系統(tǒng)(個人學習筆記黑馬學習)

    通訊錄管理系統(tǒng)(個人學習筆記黑馬學習)

    通訊錄是一個可以記錄親人、好友信息的工具。 本教程主要利用C++來實現(xiàn)一個通訊錄管理系統(tǒng)系統(tǒng)中需要實現(xiàn)的功能如下: 添加聯(lián)系人:向通訊錄中添加新人,信息包括(姓名、性別、年齡、聯(lián)系電話、家庭住址)最多記錄1000人 顯示聯(lián)系人:顯示通訊錄中所有聯(lián)系人信息 刪除聯(lián)系

    2024年02月10日
    瀏覽(778)
  • Vue學習筆記(黑馬前端)

    Vue學習筆記(黑馬前端)

    Vue階段作業(yè)地址 Vue 快速上手 Vue 概念 / 創(chuàng)建實例 / 插值表達式 / 響應式特性 / 開發(fā)者工具 Vue 指令 v-html / v-show / v-if / v-else / v-on / v-bind / v-for / v-model 綜合案例 - 小黑記事本 列表渲染 / 刪除功能 / 添加功能 / 底部統(tǒng)計 / 清空 Vue 是什么 概念:Vue 是一個用于 構(gòu)建用戶界面 的 漸

    2024年04月15日
    瀏覽(46)
  • 2022黑馬Python學習筆記

    2022黑馬Python學習筆記

    Pthon語言基礎入門 ?Pthon語言高階加強 大數(shù)據(jù)分析PySpark 你好Python程序 ! 輸入的雙引號和括號為英文字符 ????? 1. 定義:在代碼中, 被寫下來 的 固定的 值 ,稱之為字面量。 ????? 2. 常用的6種值的類型 類型 描述 說明 數(shù)字(Number) 支持(4種子類型) 整數(shù)(int) 浮點

    2023年04月14日
    瀏覽(20)
  • 黑馬大數(shù)據(jù)學習筆記5-案例

    黑馬大數(shù)據(jù)學習筆記5-案例

    P73~77 https://www.bilibili.com/video/BV1WY4y197g7?p=73 聊天平臺每天都會有大量的用戶在線,會出現(xiàn)大量的聊天數(shù)據(jù),通過對 聊天數(shù)據(jù)的統(tǒng)計分析 ,可以更好的對用戶構(gòu)建精準的 用戶畫像 ,為用戶提供更好的服務以及實現(xiàn)=高ROI==的平臺運營推廣,給公司的發(fā)展決策提供精確的數(shù)據(jù)支撐

    2024年02月14日
    瀏覽(35)
  • 微信小程序黑馬學習筆記

    在頁面.js中定義數(shù)據(jù)到data對象 .wxxm文件中 {{info}} Mustache 語法的主要應用場景如下: 綁定內(nèi)容 綁定屬性(src=\\\"{{}}\\\") 不像vue3 :src=\\\"\\\") 運算(三元運算、算術(shù)運算等) {{age=18 ? ‘成年’ : ‘未成年’}} {{age*10}} 小程序中常用的事件 類型 綁定方式 事件描述 tap bindtap 或 bind:tap 手指觸

    2024年02月19日
    瀏覽(29)
  • 黑馬微信小程序?qū)W習筆記

    黑馬微信小程序?qū)W習筆記

    小程序和普通網(wǎng)頁的區(qū)別 1、運行環(huán)境不同 網(wǎng)頁運行在瀏覽器環(huán)境中 小程序運行在微信環(huán)境中 2、API不同 由于運行環(huán)境的不同,在小程序中無法調(diào)用DOM和BOM 的API(因為這兩個API是瀏覽器暴露出來的,微信環(huán)境沒有) 但是可以調(diào)用微信提供的定位、掃碼、支付等API 3、開發(fā)模

    2024年02月03日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包