C strcpy () разрывается, когда он находится внутри функции, но не в main () [duplicate]

LRD27 спросил: 07 октября 2018 в 12:46 в: c

На этот вопрос уже есть ответ:

  • Why can't we use double pointer to represent two dimensional arrays? 5 ответов
  • Multi-dimensional array and pointer to pointers 2 ответы

Я хочу инициализировать массив строк с одинаковым значением для каждой позиции. Поэтому я пытаюсь этот код:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#define TAM_VETOR 1009
#define QTD_PLACAS 1000void inicializaVet(char * v[], int tamVet) {
    int i;
    for (i = 0; i < tamVet; i++) {
        printf("rodou %d\n", i);
        strcpy(v[i], "vazio");
    }
}int main(void) {
    char vetor[TAM_VETOR][8];    inicializaVet(vetor,TAM_VETOR);        return 0;
}

Он не работает и не может скопировать даже на первую позицию. (Выводит "rodou 0", затем ломается)

geraArquivo () работает.

Я попытался поместить тот же код в основную функцию, и это сработало, я думаю, моя ошибка на какие аргументы"inicializaVet" имеет? Но я не мог понять это самостоятельно.

0 ответов