Я новичок в использовании указателей на символьный массив. Если я запускаю код с основной функцией 1, он работает правильно и печатает слово «привет» безо всякой ошибки. Но при использовании второй основной функции я получаю ошибку как ошибку сегментации.
Я пытаюсь это выяснить, но не понимаю, в чем здесь проблема. На самом деле моя цель - использовать 2-ю основную функцию с указателем на массив символов (потому что у меня есть данные только в этой форме). Как выполнить код, используя 2-ю основную функцию, чтобы получить тот же результат, что и у основной функции 1?
#include<stdio.h>
#include<string.h>
void enmToStng(char varState[])
{
strcpy(varState,"hello");
}
//main function 1
int main(void)
{
char varState[]= {"1"};
enmToStng(varState);
printf("varState = %s\n", varState);
return 0;
}
//main function 2
/*int main(void)
{
char *varState[]= {"1","2","3"};
enmToStng(varState[1]);
printf("varState[1] = %s\n", varState[1]);
return 0;
}*/