строка в си определяется как массив char заканчивающийся символом конца строки '\0'. "Обнулить тип переменной" нельзя, эта фраза вообще лишена всякого смысла. Если вы хотите обнулить строку хранящуюся в массиве типа char, то просто запишите первым символом \0. Пример: http://ideone.com/Lm9C7c
И кстате в массиве из трёх символов как у вас в примере строка "lol" НЕ ПОМЕЩАЕТСЯ! Такая запись как у вас является ошибкой т. к. там не хватает места для символа конца строки! В результате вы выходите за границы массива что является одной из самых опасных ошибок в си.
Например VS код
char cstr[3] = { "lol" };
или
char cstr[3] = "lol";
просто не компилирует, а выдаёт ошибку "error C2117: 'cstr' : array bounds overflow"
P.S. Небольшое дополнение - мой пример корректен для c++. Для C всё аналогично, но есть небольшое отличие - символ конца строки автоматически при инициализации не включается если для него не хватает места. В результате выхода за границы массива формально нет, но ваш код всеровно является ошибочным. Язык вы не указали, так что пока не добался до вашего предыдущего вопроса не думал что речь идёт про чистый си. Короче для си всё будет примерно аналогично. Ну и функции вывода там printf, а не cout. А лучше почитайте статейку про строковые литералы в си: www. cyberforum .ru/blogs/18334/blog97.html
Другие языки программирования и технологии
Как онулировать тип переменной char например был lol[3]="cok" а стал просто lol[3]?
Тип переменной в данном случае не изменяется. Больше того, он вообще даже исходно не соответствует строке "cok".
P.S. С "поправкой" еще хуже...
Лучше изложи целиком на обычном языке, что нужно, не оперируя непонятными тебе терминами из языка программирования.
Да, и не забудь написать, на каком языке. Инициализации массивов в С и в C++ отличаются.
P.S. С "поправкой" еще хуже...
Лучше изложи целиком на обычном языке, что нужно, не оперируя непонятными тебе терминами из языка программирования.
Да, и не забудь написать, на каком языке. Инициализации массивов в С и в C++ отличаются.
Как?
lol[0]=0;
lol[1]=0;
lol[2]=0;
lol[1]=0;
lol[2]=0;
Ну смысла не вижу, но все же. Первое это почитайте про memset http://www.firststeps.ru/mfc/detail/r.php?15 или как вариант просто пробелами заполнить. char buffer[3];
buffer = " ";
buffer = " ";
Госпади, что я прочитал только что
Похожие вопросы
- Вопрос по типам переменных С++ и Pascal
- Как правильней сменить тип переменной ?
- С++, объект класса, экземпляр класса, какой тип переменной хранит экземпляр класса? (экземпляр это что? Word, lpstr..?)
- Помогите с программой по языку Pascal, задание на записи (комбинированный тип переменной).
- Спецификаторы типов переменных
- Определить тип переменных b: integer:
- C++. Можно сделать так, что бы тип переменной определялся сам? (Калькулятор) ...
- С++..число 15%4 к какому типу переменой относится? а 8/5?..3/4? ..3/4?
- Как в pascal.ABC разделить шестнадцетеричное число состоящее из 6 символов (например 2f5990) на 3 части "2f" "59" и "90"
- C++ как переменную (signed int) разделить на старший и младший байт, а после записать в 2е другие переменные типа char?
но какой в этом смысл