有一个全局数组b[]
,需要在main()
和其他一些函数中使用。现在这个数组的大小需要根据输入文件的大小来决定。该结构会是这样的:根据文件大小动态分配大小为阵列 - C
#include <stdio.h>
#include <conio.h>
char b[];
main() {
FILE *f;
f=fopen("Text.txt", "rb);
if(file_size = 200)
b[20];
else if(file_size>200) // I want to do something like this
b[50];
//Accessing b[] in the main
}
display() {
//Accessing b[] in display
}
我应该怎么做,通过计算文件的大小。由于b[]
正在main()
以及display()
中使用,它必须是全球性的。但是,我不知道如何计算文件的大小,并在main()
之前将它分配给缓冲区。
为什么使用全局数组?只是使用malloc(),这是“动态内存分配”。 – moeCake
你不能同时拥有固定数组和动态数组。 –
隐式'int'在上个千年被取缔,请写现代C. –