Я попробовал
printf("%d, %d\n", sizeof(char), sizeof('c'));
и добрался 1, 4, как произведено. Если размер символа один, почему делает 'c'
дайте мне 4? Я предполагаю, что это - потому что это - целое число. Таким образом, когда я делаю char ch = 'c';
существует ли неявный случай преобразования, под капотом, от того 4-байтового значения до 1-байтового значения, когда это присвоено символьной переменной?
В языке C 'a' - это целочисленная константа (!?!), Поэтому 4 является правильным для вашей архитектуры. Он неявно преобразуется в char для присвоения. sizeof (char) всегда равен 1 по определению. В стандарте не указано, что такое единица измерения 1, но часто это байты.
Согласно стандартам ANSI C, char
повышается до int
в контексте, где используются целые числа, вы использовали спецификатор целочисленного формата в printf
отсюда и разные значения. Символ обычно составляет 1 байт, но это реализация, определяемая на основе среды выполнения и компилятора.
Стандарт C говорит, что символьный литерал, такой как 'a', имеет тип int, а не тип char. Поэтому он имеет (на вашей платформе) sizeof == 4. См. этот вопрос для более полного обсуждения.
Поскольку не существует стандартного определения отладки или выпуска, это невозможно сделать. Я могу думать по крайней мере о четырех разных вещах, которые могут быть использованы, и все они могут быть изменены независимо. Из кода можно протестировать только два.
Мы также предоставляем довольно полный курс для начала работы с Telerik Silverlight
А также страницу, на которой можно быстро сравнить то, что мы предлагаем, с комплектом MS Toolkit и совершенно новой страницей (только что вы видели окончательную редакцию вчера вечером:D) об улучшениях производительности для комплекта Telerik, который скоро появится в прямом эфире.
В целом это зависит от ваших потребностей, как упоминалось выше, у Toolkit есть разные полосы и нет установленного цикла выпуска, плюс есть довольно надежные средства управления в нашем наборе, которые вы не найдете в инструменте. И что касается упомянутой выше документации, сообщите нам, если вы считаете, что нам не хватает в какой-либо области. У нас есть несколько сотен демонстраций за пределами программы курсов и образцов приложений на сайте, поэтому, если вы считаете, что нам нужно быть более конкретными на что-либо, дайте мне крик.
-121--3505041- Это нормальное поведение оператора sizeof
(см. Википедия ):
sizeof
возвращает размер типа данных. Для символа
вы получите 1. sizeof
возвращает размер типа переменной или выражения. Поскольку символьный литерал набирается как int
, получается 4.