2017-12-18 3 views
0

私たちは、 "プログラムを書くときに配列のサイズにコミットする必要がある"と言います。しかし、以下のコードでは、実行時にサイズを指定していますが、まだ正しく動作していますか?プログラムを書くときに配列サイズを指定することが必須です。

コード:すべての

#include <stdio.h> 
void main(){ 


{ 
    int n,i; 
    printf("give the size of the array \n"); 
    scanf("%d",&n); 
    int a[n]; 
    printf ("give array elements\n"); 
    for (i=0;i<n;i++) 
    { 
     scanf("%d",&a[i]); 
    } 
}  
+1

https://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-listあなたが使っている本は「ターボCを教える恐ろしい時代遅れの本です。古いもの、誤解を招くもの、まったく間違ったものがたくさんあります "。 – babon

答えて

0

まず、私はあなたが宣言代わりの割り当てを意味だと思います。

つまり、これはvariable length arrayまたはVLAと呼ばれています。それはC99以降の追加です。 C11を引用

、章§6.7.6.2/サイズが整数定数式 と、アレイ型は可変長 配列型知られて一定のサイズではないた要素型である場合P4

;それ以外の場合、配列型は可変長配列型です。

関連する問題