首先明白c語言操做符的優先級及結合性就很容易理解了。html
連接數組
一、關於char *s 及 char s[]函數
char *s指向的是一個字符串對象的指針,能夠理解爲間接引用,好比 char *s = 「1234」;指針
char s[]中指向的是一個字符串自己。順便提一下,printf("%s", );中傳入的其實是一個地址htm
二、數組與指針對象
如函數f(int a[][13]) 及 f(int *a[13])是等價的blog
由於[]與*優先級相同可是爲右結合,因此*a[13]能夠當作*(a[13])及有若干個13個元素的一維數組,與 a[][13]等價字符串
3.指針函數與函數指針get
指針函數:函數的返回值爲指針,如it
int *f(int a){
static int a[][2] = {{0,1}, {0,1}};
return &a[1][1];
}
函數指針:指向函數的指針,如
int (*f[14])(int );
int gao(int a){
puts("fuck");
return a * 10;
}
int main(){
f[12] = gao;
f[12](0);
}
int (*f[14])(int)實際上表示:有14個元素,每一個元素是個函數指針的數組