對于一個數組,sizeof 運算符返回數組元素的個數;但是如果把數組作為參數傳入一個函數就會發生指針降級,這時sizeof運算符就會返回一個指針的大小
#include <stdio.h>#include <stdlib.h>void f(int array[]){ PRintf("%d/n",sizeof(array));}int main(){ int array[10]; printf("%d/n",sizeof(array)); ///輸出40 f(array); ///輸出4 int *arrayPoint = array; printf("%d/n",sizeof(arrayPoint)); ///對于指針輸出為4 return 0;}
新聞熱點
疑難解答