c -变量类型结构体是否需要是存储100个元素的数组?



我是新来的,很抱歉造成任何误解。我正在学习C语言的随机存取文件。我对变量blankClient感到困惑。它不是一个数组,但是Deitel(作者)如何使用blank Client初始化100个空白记录。我认为它应该是这样的:struct clientdata blankClient[100];

/*Creating a random-access file sequentially */
#include <stdio.h>
struct clientdata {
  int acctNum;          /*account number*/
  char lastname[15];    /*account last name*/
  char firstname[10];   /*account first name */
  double balance;       /*account balance*/
};
int main (void){
int i;  /*counter used to count from 1-100 */
/*create clientData with default info */
struct clientdata blankClient = {0, "","", 0.0};
FILE *cfPtr; /*credit.dat file pointer */
if ((cfPtr =fopen("credit.dat", "wb")) == NULL) {
    printf("File could not be opened. n");
}
/*output 100 blank records to file */
else {
        for (i=1; i<=100; i++) {
            fwrite(&blankClient, sizeof( struct clientdata), 1, cfPtr);
        }
        fclose (cfPtr);
    }
return 0;
}

代码将相同的源记录写入100次。这就好比你只用两只手就能发出一百个拍手声。

相关内容

最新更新