谢谢.

解决方案 »

  1.   

    安全数组可以完成任务SAFEARRAY
      

  2.   

    void assign(int n);
    void main()
    {
      int num;
      cin>>num;
      assign(num);
    }
    void assign(int n)
    {
      int **p;int i;int j;
      p= (int**)malloc((n)*sizeof(int*));//2维,n维照例
      for(i=0;i<n;i++)
      {
      p[i]= (int*)malloc(n*sizeof(int));/////含n个数的数组
      for(j=0;j<n;j++)
      cin>>p[i][j];////////////////////////输入数组元素
      }   for(i=0;i<n;i++)
      for(j=0;j<n;j++)
        cout<<p[i][j];
    }
       for(i=0;i<n+1;i++)
      for(j=0;j<n;j++)
        cout<<p[i][j];
    }
      

  3.   

    http://expert.csdn.net/Expert/topic/1710/1710206.xml?temp=.1353418
      

  4.   

    多谢诸位,我是说定义一个数组例如float s[],里面不知有多少个数,我要从一个文本文档里读数,读多少是多少,说一不能用new或malloc这些动态分配内存,前面有网友说用指针,我想问问到底应该怎么设置,谢谢.
      

  5.   

    char  * str;str = new char [100]; // 自己定义大小 .....delete [] str;  // 释放
      

  6.   

    你可以使用指针来实现,这样来做:如果是一维的,
    int *arr; //可以是其它类型  (char, float...)
    arr = new int[n]; //n 必须是整型变量二维的呢,这样来,int **arr;
    int N,M;
    cin >> N >> M;arr = new int*[N];
    for(int i=0;i<N;i++) { arr[i] = new int[M]; } 上面的代码就可以通过动态输入N,M来实现二维数组的定义
      

  7.   

    CArray <float, float> s;
      

  8.   

    用new不行啊,我不知道double *a; a=new double[n];
    后面这个n是多少,我得读完文件才知道,前面那威望友说先获取文件大小,该怎么做啊.
      

  9.   

    GetFileSize,
    具体的与文件格式有关。
    提醒:分配时,一定要判断操作是否成功。
          不用时,及时释放堆内存_ delete []a;
      

  10.   

    不能用new或malloc这些动态分配内存,则无法实现,因为你是根本不知道要多大的数组,只有等读完文件才知道,那你肯定得需要不断得realloc了,就算你读完文件,得到需要几个,再来分配空间,然后重新读,恐怕也得用malloc呀。
    float *s = NULL;
    int   num = 0;
        ...
    while ( !feof( fp ) )
    {
        fread( ... );
        ...
        if ( num == 0 )
            s = (float *)calloc( 1, sizeof( float ) );
        else 
            s = realloc( num + 1, sizeof( float ) );
        
        if ( s == NULL )
             ...    num ++;
        ...
    }
      

  11.   

    可以用CArray,可以自己定义要放入的对象的。
    如果要存放从文件中读出的信息,用CStringArray就得以了,比较好用的,而且有很多现成的方法!!!