回覆列表
  • 1 # 娛樂八卦小小

    C99標準出來以前,C語言不支援動態定義陣列大小,只能採用動態分配指標方式來完成動態陣列的個數定義。如:

    struct st {

    int x,y;

    char str[10];

    };

    struct st *array ;

    int n;

    printf("input n: "); scanf("%d", &n);

    array=(struct st*)malloc(n*sizeof(struct st)); //動態分配n個結構體空間,接下來array的操作,與陣列操作是相同的,如:array[0].x=1 ;

    C99以後,C語言標準開始支援動態定義陣列,但動態陣列,在其確定個數之後,在其生命期中,就不可變了。如:

    struct st {

    int x,y;

    char str[10];

    };

    int n;

    printf("input n: "); scanf("%d", &n);

    struct st array[n] ; //定義動態陣列

    array[0].x=1 ;

  • 中秋節和大豐收的關聯?
  • 第一批老窖1573價格?