有人可以帮我解决这个问题吗?
我认为这是不可能的......除非我传递另一个大小的参数?我希望避免它。
我怎么能这样做?
int size(int *array){
return (sizeof(array) / sizeof(int));
};
int main(int argc, const char * argv[])
{
int array[] = {1,2,3,4};
printf("%d", size(array) );
return 0;
}
谢谢!
答案 0 :(得分:7)
你不能把它作为一种功能。你可以把它做成一个宏。
#define SIZEOF_ARRAY(array) (sizeof(array) / sizeof(*array))