最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

剖析C語言關(guān)鍵字之void,const,return

 更新時間:2022年01月07日 15:02:05   作者:我說  
這篇文章主要為大家介紹了C語言關(guān)鍵字之void,const,return,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

return

首先我們弄清楚c語言內(nèi)存分配的方式

在這里插入圖片描述

然后我們看一段代碼:

#pragma warning(disable:4996)
#include<stdio.h>
char* string()
{
	char arr[] = "hello world";
	return arr;
}
int main()
{
	char* s = string();
	printf("%s", s);
	return 0;
}

在這里插入圖片描述

當(dāng)運行到printf函數(shù)的時候,s指向的內(nèi)容仍是”hello world“,但為什么最后打印出來就是亂碼了?

在這里插入圖片描述

在這里插入圖片描述

我們先看棧區(qū)中內(nèi)存的分配

當(dāng)string函數(shù)執(zhí)行完時,它創(chuàng)造的棧幀就被銷毀了,可這里的銷毀并不是將其的數(shù)據(jù)清零,而是將其設(shè)置為可覆蓋的數(shù)據(jù)

但為什么最后又亂碼了呢?

那是因為printf也是一個函數(shù),也要創(chuàng)造空間,所以將string所創(chuàng)造的棧幀給覆蓋了

在這里插入圖片描述

所以我們就完美地解釋了為什么會亂碼的原因

void

一.可做為函數(shù)的通用接口

例:

在這里插入圖片描述

運用:char* s = (char*)malloc(sizeof(char));

原因:

void類型的指針可被任意類型的指針接受,也可以接受任意類型的指針

二.void不能修飾變量

原因:編譯器不知道給變量分配多少空間

三.void修飾函數(shù)返回值

占位符,告知用戶不用返回值

假如不加,默認(rèn)是int類型的返回值

const

const修飾的變量不能直接被修改,但能通過指針

但是const仍有它的意義
1.讓編譯器提前告訴我們不該修改的變量被修改了
2.讓看源碼的童鞋知道這里不能被修改

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

  • C++基礎(chǔ)概念講述

    C++基礎(chǔ)概念講述

    這篇文章主要介紹了C++基礎(chǔ)概念,??本次為C++的一個開篇,重點是更好的理解C++相對于其他編程語言的一個特性,之后會持續(xù)更新,本次專欄計劃是掌握C++的基礎(chǔ)語法以及常用特性,并且從細(xì)節(jié)上去理解,需要的朋友可以參考一下
    2021-12-12
  • C++11中l(wèi)ambda、std::function和std:bind詳解

    C++11中l(wèi)ambda、std::function和std:bind詳解

    大家都知道C++11中增加了許多的新特性,下面在這篇文中我們就來聊一下lambda表達(dá)式,閉包,std::function以及std::bind。文中介紹的很詳細(xì),相信對大家具有一定的參考價值,有需要的朋友們下面來一起看看吧。
    2017-01-01
  • C++ 實現(xiàn)球迷 今日頭條面試題

    C++ 實現(xiàn)球迷 今日頭條面試題

    這篇文章主要介紹了C++實現(xiàn)球迷今日頭條面試題功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • VS編譯出現(xiàn)MSB3073命令的解決方案

    VS編譯出現(xiàn)MSB3073命令的解決方案

    =error MSB3073是Visual Studio編譯器報出的錯誤,本文主要介紹了VS編譯出現(xiàn)MSB3073命令的解決方案,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 詳解c++種gmock單元測試框架

    詳解c++種gmock單元測試框架

    這篇文章我們給大家分享了關(guān)于c++種gmock單元測試框架的相關(guān)知識點內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2018-08-08
  • C語言實現(xiàn)C++繼承和多態(tài)的代碼分享

    C語言實現(xiàn)C++繼承和多態(tài)的代碼分享

    本文主要給大家簡單講訴了C和C++的區(qū)別以及如何使用C語言模擬實現(xiàn)C++繼承和多態(tài),并附上示例代碼,是篇相當(dāng)不錯的文章,推薦給喜歡C語言的小伙伴們
    2017-07-07
  • 剖析C語言關(guān)鍵字之void,const,return

    剖析C語言關(guān)鍵字之void,const,return

    這篇文章主要為大家介紹了C語言關(guān)鍵字之void,const,return,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • C++抽獎程序?qū)崿F(xiàn)方法

    C++抽獎程序?qū)崿F(xiàn)方法

    這篇文章主要介紹了C++抽獎程序?qū)崿F(xiàn)方法,實例分析了C++隨機(jī)數(shù)的生成技巧與抽獎程序的實現(xiàn)方法,需要的朋友可以參考下
    2015-07-07
  • IOS開發(fā)之UIScrollView實現(xiàn)圖片輪播器的無限滾動

    IOS開發(fā)之UIScrollView實現(xiàn)圖片輪播器的無限滾動

    這篇文章主要介紹了IOS開發(fā)之UIScrollView實現(xiàn)圖片輪播器的無限滾動的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • 最新評論

    平罗县| 横峰县| 精河县| 谢通门县| 奎屯市| 托克逊县| 东宁县| 务川| 墨脱县| 四会市| 金湖县| 新巴尔虎左旗| 长乐市| 宜春市| 涿鹿县| 江安县| 棋牌| 遂宁市| 股票| 全南县| 云南省| 板桥市| 涡阳县| 水城县| 呈贡县| 贵港市| 柘城县| 大关县| 新安县| 合水县| 红河县| 三亚市| 许昌县| 郁南县| 翁牛特旗| 昆明市| 泰安市| 赤城县| 苗栗市| 通许县| 万荣县|