指針與malloc動態內存申請,堆和棧的差異

定義了兩個函數print_stack()print_malloc(),分別演示了兩種不同的內存分配方式:棧內存和堆內存。然后在main()函數中調用這兩個函數,并將它們返回的指針打印出來。

  1. 由于print_stack()中的數組c是在棧上分配的,當函數返回后,c所在的內存空間就會被釋放,因此在main()函數中再次打印p時,會導致未定義的行為。

  2. print_malloc()函數中使用了動態內存分配函數malloc,在函數返回后,由于是在堆上分配的內存空間,因此在main()函數中再次打印p時,仍然能夠正確輸出來。

代碼展示:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define N 5
char* print_stack(){char c[100]="hello hasdhkjas";char *p;p=c;puts(p);return p;
}char* print_malloc(){char *p;p=(char*)malloc(N);strcpy(p,"helloolleh");puts(p);return p;}int main(){char *p;p= print_stack();puts(p);p= print_malloc();puts(p);return 0;
}

結果展示:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/712618.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712618.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712618.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【哈希表算法題記錄】242.有效的字母異位詞

題目鏈接 這題思路比較簡單&#xff0c;考慮到26個小寫字母的ASCII是連續的&#xff0c;那么我們可以設置一個size為26的哈希表record&#xff0c;然后記錄26個字母分別在string中出現的次數。例如&#xff0c;record[0]記錄的是字母‘a’出現的次數。于是我們主要就是要獲得每…

Python裝飾器的使用詳解

目錄 1、函數裝飾器 1.1、閉包函數 1.2、裝飾器語法 1.3、裝飾帶參數的函數 1.4、被裝飾函數的身份問題 1.4.1、解決被裝飾函數的身份問題 1.5、裝飾器本身攜帶/傳參數 1.6、嵌套多個裝飾器 2、類裝飾器 裝飾器顧名思義作為一個裝飾的作用&#xff0c;本身不改變被裝…

Acwing 周賽135 解題報告 | 珂學家 | 反悔堆貪心

前言 整體評價 VP了這場比賽&#xff0c; T3挺有意思的&#xff0c;反悔貪心其實蠻套路的。 A. 買蘋果 思路: 簽到 n, x list(map(int, input().split())) print (n // x)B. 牛群 思路: 分類討論 from collections import Counters input() cnt Counter(s)lists sorte…

WPF 【十月的寒流】學習筆記(2):MVVM中是怎么實現通知的

文章目錄 前言相關鏈接代碼倉庫項目配置代碼初始代碼ViewPersonViewModel 嘗試老辦法通知解決方案ObservableCollectionBindingListICollectionView 總結 前言 我們這次詳細了解一下列表通知的底層是怎么實現的 相關鏈接 十月的寒流 MVVM實戰技巧之&#xff1a;可被觀測的集合…

2024年【A特種設備相關管理(電梯)】考試總結及A特種設備相關管理(電梯)證考試

題庫來源&#xff1a;安全生產模擬考試一點通公眾號小程序 2024年A特種設備相關管理&#xff08;電梯&#xff09;考試總結為正在備考A特種設備相關管理&#xff08;電梯&#xff09;操作證的學員準備的理論考試專題&#xff0c;每個月更新的A特種設備相關管理&#xff08;電梯…

KVM部署Windriver Linux操作系統

安裝前準備 創建密碼配置文件&#xff0c;否則虛機啟動后無法登錄 cd /var/lib/libvirt/images/disks/windriver/ docker run -ti --rm quay.io/coreos/mkpasswd --methodyescrypt 123456 >password_hash.txt cat <<-ENDOF> sample.bu variant: fcos version: 1.4…

面試 Java 基礎八股文十問十答第十二期

面試 Java 基礎八股文十問十答第十二期 作者&#xff1a;程序員小白條&#xff0c;個人博客 相信看了本文后&#xff0c;對你的面試是有一定幫助的&#xff01;關注專欄后就能收到持續更新&#xff01; ?點贊?收藏?不迷路&#xff01;? 1&#xff09;創建一個對象用什么關…

代碼隨想錄day27:貪心part1,基礎篇

文章目錄 day27&#xff1a;貪心part1&#xff0c;基礎篇455.分發餅干376.擺動序列53.最大子數組和 day27&#xff1a;貪心part1&#xff0c;基礎篇 455.分發餅干 循環結束條件注意餅干比孩子多的情況 class Solution {public int findContentChildren(int[] g, int[] s) {A…

C++:非靜態成員默認初始化

C11之前只有常靜態成員變量才能進行默認初始化&#xff0c;其它變量初始化時總要進行繁瑣的過程 class A{int a; public:A():a(10){} };C11開始支持非靜態成員的默認初始化&#xff0c;默認初始化和初始化參數列表同時初始化一個變量時會使用初始化參數列表&#xff0c;不進行…

JavaScript new、apply call 方法

new、apply、call、bind JavaScript 中的 apply、call和 bind 方法是前端代碼開發中相當重要的概念&#xff0c;并且與 this 的指向密切相關 new new 關鍵詞的主要作用 就是執行一個構造函數、返回一個實例對象 根據構造函數的情況&#xff0c;來確定是否可以接受參數的傳遞…

Huggingface初上手即ERNIE-gram句子相似性實戰

大模型如火如荼的今天&#xff0c;不學點語言模型&#xff08;LM&#xff09;相關的技術實在是說不過去了。只不過由于過往項目用到LM較少&#xff0c;所以學習也主要停留在直面——動眼不動手的水平。Huggingface&#xff08;HF&#xff09;也是現在搞LM離不開的工具了。 出于…

最新 DataGrip 2023.3.4 下載安裝激活 + 永久免費

文章目錄 DataGrip簡介同類產品對比使用技巧不足實戰 下載安裝激活Stage 1 : 官網下載Stage 2 : 下載工具Stage 3-1 : windows為例Stage 3-2 : mac為例常見問題部分小伙伴 Mac 系統執行腳本遇到如下錯誤&#xff1a;解決方法&#xff1a; 執行腳本做了啥&#xff1f;和收費版區…

基于springboot+vue的可盈保險合同管理系統

博主主頁&#xff1a;貓頭鷹源碼 博主簡介&#xff1a;Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰&#xff0c;歡迎高校老師\講師\同行交流合作 ?主要內容&#xff1a;畢業設計(Javaweb項目|小程序|Pyt…

XUbuntu22.04之如何找到.so庫所在的軟件包?(二百一十六)

簡介&#xff1a; CSDN博客專家&#xff0c;專注Android/Linux系統&#xff0c;分享多mic語音方案、音視頻、編解碼等技術&#xff0c;與大家一起成長&#xff01; 優質專欄&#xff1a;Audio工程師進階系列【原創干貨持續更新中……】&#x1f680; 優質專欄&#xff1a;多媒…

Vue中的事件總線(EventBus)是什么?它有什么優點和缺點?

作為一名使用Vue的前端開發者&#xff0c;有時候會聽到事件總線(EventBus)這個名詞。但可能是我入行比較晚&#xff0c;我在Vue網站中并沒有看到過事件總線的介紹&#xff0c;在項目中也沒有使用過。那究竟什么是事件總線&#xff1f;事件總線可以解決什么問題&#xff1f; 事…

element-plus表格合并

要實現這樣的表格&#xff0c; 怎么做呢&#xff1f; 甚至是這種三級的呢&#xff1f; 官網的案例也是通過這個方法進行配置的&#xff0c;也就是說表格長什么樣&#xff0c;關鍵在怎么處理的方法上。 這是官網的方法&#xff0c;可參考拓展&#xff1a; const arraySpanMeth…

一款云滲透工具 - Sea Moon

SeaMoon - 月海 什么是月海 &#x1f315; 月出于云卻隱于海 月海(Sea Moon) 是一款 FaaS/BaaS 實現的 Serverless 網絡工具集&#xff0c;期望利用云原生的優勢&#xff0c;實現更簡單、更便宜的網絡功能。 月海之名取自于蘇軾的《西江月頃在黃州》&#xff0c;寓意月海取自…

【JVM】JVM相關機制

1. JVM內存區域劃分 1.1 內存區域劃分簡介 內存區域劃分&#xff1a;實際上JVM也是一個進程&#xff0c;進程運行時需要向操作系統申請一些系統資源&#xff08;內存就是典型的資源&#xff09;&#xff0c;這些內存空間就支撐著后續Java程序的運行&#xff0c;而這些內存又會…

Python環境搭建:一站式指南

在當前AIGC技術蓬勃發展的背景下&#xff0c;Python作為人工智能領域最受青睞的編程語言之一&#xff0c;成為我們必須掌握的技能。因此&#xff0c;搭建一個適合自己的Python環境成為了每個Python開發者的首要任務。本文將為您提供一站式的Python環境搭建指南&#xff0c;幫助…

PythonOpenCV隨機粘貼圖像

import cv2 import numpy as np import random # 讀取兩個圖像 image1 cv2.imread(image1.jpg) image2 cv2.imread(image2.jpg) # 將image1轉換為灰度圖像 gray_image1 cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY) # 創建掩碼&#xff0c;黑色部分為0&#xff0c;非黑色部…