我正在阅读csc展示文件,其中我读了一个与c语言数组的sizeof()运算符相关的问题.答案是别的,然后我预料到它.
int DIMension(int array[]) {
return sizeof(array )/ sizeof(int);
}
main() {
int arr[10];
printf(“Array dimension is %d”, DIMension(arr));
}
Run Code Online (Sandbox Code Playgroud)
用c语言编写的这个程序打印1作为答案.为什么会这样?
因为int array[]它只是一个指针,它的大小是相同的int.我认为你希望arr以某种方式将大小传递给函数,但它不会那样工作.大小arr只能在声明它的同一范围内确定,因为sizeof实际上在编译时工作.
| 归档时间: |
|
| 查看次数: |
372 次 |
| 最近记录: |