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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

[C++学习历程]基础部分 C++中的函数学习

發布時間:2023/11/30 c/c++ 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [C++学习历程]基础部分 C++中的函数学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文地址:http://blog.csdn.net/sushengmiyan/article/details/20305815

作者:sushengmiyan

一。靜態變量:

局部變量是線程到達定義的地方的時候進行初始化,如果定義在函數中,那么每次函數調用的時候,都會進行初始化,函數的每個調用保留著一個副本,對于靜態變量來說,只在第一次調用的時候初始化。通過下面一個例子可以細細體會這個區別:

// sushengmiyanTest.cpp : 定義控制臺應用程序的入口點。 //#include "stdafx.h" #include <iostream> using namespace std;void f(int a) {while(a--){static int n = 0;int x = 0;cout<<"n=="<<n++<<" ,x=="<<x++<<"\n";} }int _tmain(int argc, _TCHAR* argv[]) {//cout<<"hello world \n";f(3);system("pause");return 0; }

通過運行結果可以看出,n是靜態變量,雖然每次調用函數了,但是只是一次初始化,后面執行n++之后,值就是n++的值,再次調用也不會初始化,對于x來說是局部變量,每次調用都會初始化一下,所以每次都是0.


二。參數傳遞

// sushengmiyanTest.cpp : 定義控制臺應用程序的入口點。 //#include "stdafx.h" #include <iostream> using namespace std;void f(int a) {while(a--){static int n = 0;int x = 0;cout<<"n=="<<n++<<" ,x=="<<x++<<"\n";} }void fuc(int m, int& n) {m++;n++; }int _tmain(int argc, _TCHAR* argv[]) {int a = 3;int b = 3;//cout<<"hello world \n";fuc(a, b);cout<<"a=="<<a<<" ,b=="<<b<<"\n";system("pause");return 0; }
先看這個例子,結果如下:

通過這例子可以看出,經過函數調用,初始化的時候同樣是3 ,第一個參數是形式參數,傳入之后對其進行操作,只在函數內部發生作用,函數外部,值不會發生變化,對于第二個參數,是傳地址的,就是我修改了之后呢,內存中這個值也就發生了變化,再獲取的時候就是函數內部操作之后的數值了。

所以輸出的是a = 3,b=4.




轉載于:https://www.cnblogs.com/muyuge/p/6152529.html

總結

以上是生活随笔為你收集整理的[C++学习历程]基础部分 C++中的函数学习的全部內容,希望文章能夠幫你解決所遇到的問題。

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