Sizeof on array function parameter will return size of 'int *' instead of 'int []'

在C语言中,数组作为函数参数时将退化为指针

#include <stdio.h>

//Sizeof on array function parameter will return size of 'int *' instead of 'int []'
int sizeofArray(int array[]){
    return sizeof(array);
}

int main(int argc, const char * argv[]) {
    // insert code here...
    int data1[] = {1, 2, 3, 4, 5};
    size_t size1 = sizeof(data1);
    int *data2 = data1;
    size_t size2 = sizeof(data2);
    size_t size3 = sizeofArray(data1);
    printf("%zd, %zd, %zd\n", size1, size2, size3);
    return 0;
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容