淺析C語言指針問題

     首先明白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個元素,每一個元素是個函數指針的數組

相關文章
相關標籤/搜索