Автор юзер задал вопрос в разделе Другие языки и технологии
Как в Си символьной переменной присвоить текст ? и получил лучший ответ
Ответ от
b[0] = 'b';
b[1] = ' ';
Ответ от Krab Bark[гуру]
Это не символьная переменная. Это массив символьных переменных.
char b[2]; strcpy(b,"a"); Если речь идет о строках. А если просто присвоить символы не в формате строки, то посимвольно:
char b[2],d[3]="ab"; for(i=0;i<2;i++)b[i]=d[i];
Размер динамического массива задается ДО того, как в него помещены элементы. Тип автоматически расширяемого при помещении элементов массива существует только в C++, он называется vector, а его частный вид для символов - string. Его можно смоделировать и в чистом С, это сводится к созданию нового динамического массива с большей длиной, переписыванию в него содержания старого с добавлением новых элементов и удалению старого массива.
Это не символьная переменная. Это массив символьных переменных.
char b[2]; strcpy(b,"a"); Если речь идет о строках. А если просто присвоить символы не в формате строки, то посимвольно:
char b[2],d[3]="ab"; for(i=0;i<2;i++)b[i]=d[i];
Размер динамического массива задается ДО того, как в него помещены элементы. Тип автоматически расширяемого при помещении элементов массива существует только в C++, он называется vector, а его частный вид для символов - string. Его можно смоделировать и в чистом С, это сводится к созданию нового динамического массива с большей длиной, переписыванию в него содержания старого с добавлением новых элементов и удалению старого массива.
Ответ от Анастасия 1[гуру]
Называть массив переменной конечно можно... но всё-таки это другое.
Присвоить так:
b[0] = 'A';
b[1] = 'B'
Динамически, можно так:
char *mas = malloc(sizeof(char) * N);
Называть массив переменной конечно можно... но всё-таки это другое.
Присвоить так:
b[0] = 'A';
b[1] = 'B'
Динамически, можно так:
char *mas = malloc(sizeof(char) * N);
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как в Си символьной переменной присвоить текст ?