二維數(shù)組
二維數(shù)組可以看成多個(gè)一維數(shù)組構(gòu)成
int arr【2】【3】2代表行號(hào)歼指,3代標(biāo)列數(shù)
訪問二維數(shù)組
數(shù)組名+行下標(biāo)+列下標(biāo)
二維數(shù)組內(nèi)存分配:連續(xù)存儲(chǔ)
第i行首元素的地址:&arr[i][0]===>arr[i]===>(arr+i)===>arr+i
第i行第j列元素的地址:&arr[i][j]==>arr[i]+j==>(arr+i)+j
第i行第j列元素:arr[i][j]==>(arr[i]+j)==>((arr+i)+j)
int (p)[3]=arr售担;
只要arr能用的地方P都能用
函數(shù)定義
1)不能嵌套定義(只能定義在外面)
2)不能與系統(tǒng)提供的函數(shù)名相同
3)函數(shù)不能重復(fù)定義
4)如果函數(shù)的數(shù)據(jù)類型是int char float等等 那么這個(gè)函數(shù)必須要有return
return 后面值的類型必須要與函數(shù) 的數(shù)據(jù)類型保持一致
5)如果函數(shù)的數(shù)據(jù)類型是void那么函數(shù)可以有return也可以沒有return倒信,如果有return的話甲脏,return后面沒有值
6)函數(shù)定義時(shí)形參的個(gè)數(shù)啰挪,必須要與函數(shù)調(diào)用實(shí)參個(gè)數(shù)相同
7)形參變量的類型及時(shí)相同也不能省略數(shù)據(jù)類型兆览,比如:
void sum(int a,b)錯(cuò)誤;必須要寫成 void sum(int a,int b)
8)形參個(gè)數(shù)可以是多個(gè)贱迟,沒有限制姐扮;形參變量的數(shù)據(jù)類型可以各不相同
函數(shù)定義格式
數(shù)據(jù)類型 函數(shù)名()
{
}
數(shù)據(jù)類型: int char float double void
函數(shù)的使用
函數(shù)的調(diào)用 函數(shù)名();
數(shù)據(jù)類型 函數(shù)名(數(shù)據(jù)類型 函數(shù)名 衣吠, 數(shù)據(jù)類型 函數(shù)名)
1)形式參數(shù)
形式上的參數(shù)溶握,在函數(shù)定義的時(shí)候存在
實(shí)參:有實(shí)際意義的參數(shù),在函數(shù)條調(diào)用的時(shí)候存在
return 在函數(shù)中的作用
1)當(dāng)函數(shù)碰到return時(shí)蒸播,該函數(shù)return下面的語句不會(huì)被執(zhí)行
2)將return后面的值返回給函數(shù)調(diào)用者
函數(shù)的遞歸:函數(shù)自己調(diào)用自己
局部變量:定義在函數(shù)內(nèi)部的變量
全局變量:定義在函數(shù)外面的變量
如果全局變量和局部變量同名,全局變量相當(dāng)于不存在
變量按生存期分
靜態(tài)變量
自動(dòng)變量
——局部變量
靜態(tài)局部變量
自動(dòng)局部變量
作用域只能決定訪問性
——全局變量
靜態(tài)全局變量
自動(dòng)全局變量
————————————————————————————————————
函數(shù)指針
void (p)()=test;
先算(p),代表p是一個(gè)指針變量袍榆,再算()胀屿,代表將來p這個(gè)指針執(zhí)行一個(gè)沒有形式參數(shù)的函數(shù),在看void包雀,代表p指向的這個(gè)函數(shù)返回值是void類型的
函數(shù)名就是函數(shù)的入口地址
p()相當(dāng)于test()
指針函數(shù):函數(shù)的返回值是指針