最新国产好看的视频,伊人天堂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;
}

在這里插入圖片描述

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

在這里插入圖片描述

在這里插入圖片描述

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

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

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

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

在這里插入圖片描述

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

void

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

例:

在這里插入圖片描述

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

原因:

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

二.void不能修飾變量

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

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

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

假如不加,默認是int類型的返回值

const

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

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

在這里插入圖片描述

總結(jié)

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

  • C++基礎概念講述

    C++基礎概念講述

    這篇文章主要介紹了C++基礎概念,??本次為C++的一個開篇,重點是更好的理解C++相對于其他編程語言的一個特性,之后會持續(xù)更新,本次專欄計劃是掌握C++的基礎語法以及常用特性,并且從細節(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表達式,閉包,std::function以及std::bind。文中介紹的很詳細,相信對大家具有一定的參考價值,有需要的朋友們下面來一起看看吧。
    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)容,有興趣的朋友們學習下。
    2018-08-08
  • C語言實現(xiàn)C++繼承和多態(tài)的代碼分享

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

    本文主要給大家簡單講訴了C和C++的區(qū)別以及如何使用C語言模擬實現(xiàn)C++繼承和多態(tài),并附上示例代碼,是篇相當不錯的文章,推薦給喜歡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++隨機數(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
  • 最新評論

    新丰县| 仁化县| 汉川市| 云龙县| 黄浦区| 岑巩县| 古浪县| 富阳市| 泊头市| 灵寿县| 乌鲁木齐市| 阿尔山市| 安泽县| 和龙市| 克山县| 运城市| 灵武市| 南澳县| 松江区| 琼结县| 古丈县| 瓦房店市| 平安县| 威远县| 全椒县| 敦煌市| 望城县| 鄯善县| 东源县| 台安县| 太康县| 报价| 亳州市| 剑川县| 凌源市| 中山市| 澄城县| 安新县| 宁海县| 新乡县| 仁怀市|