C++函示呼叫必須了解一種稱為堆疊stack的資料結構,可以把堆疊想成一堆盤子,當一個盤子推上去,通常放在最頂端,這個動作把盤子推入成為pushing堆疊,同樣地,當一個盤子拿下來時,通常從最頂端拿,稱為把盤子取出popping。堆疊是一種後進先出last in,first out,LIFO的資料結構
#include <iostream>
using namespace std;
int square(int);
int main(){
int a=10;
cout<<a<<" squared: "<<square(a)<<endl;
}
int square(int x){
return x*x;
}
首先作業系統呼叫main,並把活動紀錄堆入堆疊,該紀錄告訴main何時返回作業系統,並配置main的自動變數所需的記憶體空間變數a=10,main在返回作業系統呼叫了square,這會把square的堆疊框架推入函示呼叫堆疊,此框架包含square返回main時的位址,及其自動變數x的記憶體空間
do{程式片段}while(表示式),當表示式成立時,就執行程式片段
#include <stdio.h>
int main(){
int count=3;
while(count<3){
printf("%d\n",count);
count++;
}
return 0;
}
while和do...while的差別在哪呢
#include <stdio.h>
int main(){
int count=3;
do{
printf("%d\n",count);
count++;
}while(count<3);
return 0;
}
while跟do while最大的不同就是do會先做大括弧裡面的程式一次,while有小於3才繼續做,而while的情況下一次都不會做,因為while第一次就會進行判斷了