传染媒介传染媒介在C的

时间:2015-04-28 02:18:48

标签: c vector

我是新来的,这是我的第一个问题,我在搜索引擎中找不到这样的东西,所以我的问题基本上是C上的向量矢量,这是我所做的直到现在,但我一直收到一个致命的警告,所以我知道我没有很好地使用矢量结构,我真的很感激一些帮助。

由于

PD:抱歉我的英文。

#include<stdio.h>
#include<stdlib.h>

typedef struct
{
int n;
int *vector;
}Vector_T;

int inicializar_original(int *n,int dim)
{
int i,r,s,j,*k;
Vector_T *t;
Vector_T l;
srand(time(NULL));
r=rand()%10;
scanf("%d",&s);
t->vector=k;
l.n=s;
k=(int*)malloc(s*sizeof(int));
for(j=0;j<s;j++)
{
k[j]=r;
}
    for(i=0;i<dim;i++)
    {
    n[i]=k;
    }
}


int main()
{
int *v,dim;
scanf("%d",&dim);
v=(int*)malloc(dim*sizeof(int));
inicializar_original(v,dim);
}

2 个答案:

答案 0 :(得分:0)

Asumo quehablasespañol,asíqueagíva:Elproblemamásgrandees quenoestásinicializandola variable“k”。 Mi sugerencia es que intentes lo siguente:

int i,r,s,j;
int* k;

如果只有英文:您的问题可能是您正在以错误的方式初始化K.尝试做:

int i,r,s,j;
int* k;

答案 1 :(得分:0)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

typedef struct {
    int n;
    int *vector;
}Vector_T;

int inicializar_original(Vector_T *v, int dim){
    int i, j, s, r = rand()%10;

    scanf("%d", &s);
    for(i=0; i<dim; i++){
        int *k = malloc( s * sizeof(int));
        for(j=0; j<s; j++){
            k[j]=r;
        }
        v[i].n = s;
        v[i].vector = k;
    }
}


int main(void){
    Vector_T *v;
    int dim;

    srand(time(NULL));
    scanf("%d", &dim);
    v = malloc(dim * sizeof(*v));
    inicializar_original(v, dim);

    { //check print & release
        int i, j;
        for(i = 0; i < dim; ++i){
            for(j = 0; j < v[i].n ; ++j){
                printf("%d ", v[i].vector[j]);
            }
            puts("");
            free(v[i].vector);
        }
        free(v);
    }

    return 0;
}