Ansi C init + set struct наведнъж
15 отговора
423 прегледа
Ansi C init + set struct наведнъж
Тъп въпрос, надявам се на бърз отговор:
има ли начин в ansi стандарта на С да декларирам променлива от някакъв struct-тип и едновременно с дефиницията да задам стойности на отделните променливи в struct-а, т.е. да напиша следния код на 1 ред
card ace_of_spades;
ace_of_spades.color = black;
ace_of_spades.num = 1;
?
има ли начин в ansi стандарта на С да декларирам променлива от някакъв struct-тип и едновременно с дефиницията да задам стойности на отделните променливи в struct-а, т.е. да напиша следния код на 1 ред
card ace_of_spades;
ace_of_spades.color = black;
ace_of_spades.num = 1;
?
Re: Ansi C init + set struct наведнъж
Не. След дефиницията можеш да инициализираш отделните ел-ти с 1-на ст/ст напр: memset(&ace_of_spades,0,sizeof(ace_of_spades));
Re: Ansi C init + set struct наведнъж
дефинираш си я в един хедър файл, правиш си екземпляр от нея, инициализираш я и където ти потрябва си инклудваш файла.
Re: Ansi C init + set struct наведнъж
нещо такова?
struct s { int i; double j; };
/* ... */
struct s test = { 1, 3.4 };
struct s { int i; double j; };
/* ... */
struct s test = { 1, 3.4 };
Re: Ansi C init + set struct наведнъж
Хубу, но ако го напишеш 1000 пъти, и после се наложи да смниш структурата на struct-а? :)
Аз съм склонен да пиша по-подробно за да няма лоши изненади.
-------------
Special killer double trouble triple extra nicotine monster!
Аз съм склонен да пиша по-подробно за да няма лоши изненади.
-------------
Special killer double trouble triple extra nicotine monster!
Редактирано от z_free на
Re: Ansi C init + set struct наведнъж
така или иначе ако се наложи да смениш структурта на данните ще има много писане...
просто няма начин да дадеш стойности по подразбиране на полетата на структура в С, в С++ можеш да и скагаш конструктор, но това не е С++
просто няма начин да дадеш стойности по подразбиране на полетата на структура в С, в С++ можеш да и скагаш конструктор, но това не е С++
Re: Ansi C init + set struct наведнъж
Да, забравих, че е C :) и веднага започнах да си мисля за разни клас-факторита.
иначе е вярно, че ако се сменя структурата така или иначе се пише доста, но ако е написано така:
card ace_of_spades;
ace_of_spades.color = black;
ace_of_spades.num = 1;
ще се пренаписва по-малко.
-------------
Special killer double trouble triple extra nicotine monster!
иначе е вярно, че ако се сменя структурата така или иначе се пише доста, но ако е написано така:
card ace_of_spades;
ace_of_spades.color = black;
ace_of_spades.num = 1;
ще се пренаписва по-малко.
-------------
Special killer double trouble triple extra nicotine monster!
Re: Ansi C init + set struct наведнъж
Това има толкова общо с .НЕТ колкото и клиника малинов.
Re: Ansi C init + set struct наведнъж
Кликни на категорията в която е клуба за да видиш подробен преглед на всички, след това прочети какво пише под .НЕТ с малки букви.
не е клиника малинов
не е клиника малинов
Re: Ansi C init + set struct наведнъж
абе всъщност ми трябва за едно домашно, и понеже трябва да го принтна исках да сгъстя кода малко, ужким да е по-стегнато.
иначе логично че ако пиша повече от 2 файла ще се придържам към твоят вариант.
иначе логично че ако пиша повече от 2 файла ще се придържам към твоят вариант.
Re: Ansi C init + set struct наведнъж
ASP.NET VB.NET C# J# и други които са идвали :)
Ако ти си видял пък ц, анси ц или квото и да е подобно мисля че е време да смениш дилъра.
Ако ти си видял пък ц, анси ц или квото и да е подобно мисля че е време да смениш дилъра.
Re: Ansi C init + set struct наведнъж
А да ме упътиш към някой клуб в ДИР, който да има повече общо с C
или може би C# е пълната му противоположност, може би са като дена и нощта?
или може би C# е пълната му противоположност, може би са като дена и нощта?
Re: Ansi C init + set struct наведнъж
Пробвай в клуб "Програмисти". Тука не сме програмисти - С# и .НЕТ не са езици за програмиране. Можеш да продължиш да мислиш и ебеш, докато пишеш. Нищо общо с С.
--
Sometimes the sole purpose of your life is to serve as a warning to others.
--
Sometimes the sole purpose of your life is to serve as a warning to others.
Re: Ansi C init + set struct наведнъж
>> С# и .НЕТ не са езици за програмиране.
За С# не съм съгласен :)
все пак, ако става въпрос за програмиране независимо от езика, не мисля, че е най-добре да инициализираш нещата с един ред
-------------
Special killer double trouble triple extra nicotine monster!
За С# не съм съгласен :)
все пак, ако става въпрос за програмиране независимо от езика, не мисля, че е най-добре да инициализираш нещата с един ред
-------------
Special killer double trouble triple extra nicotine monster!
Re: Ansi C init + set struct наведнъж
а ако е написано така ще се пише още по-малко:
enum Color{
WHITE=0,
BLACK,
.....
};
така можеш да напишеш:
int i = BLACK // i=1
и не ти трябват никакви структури;
enum Color{
WHITE=0,
BLACK,
.....
};
така можеш да напишеш:
int i = BLACK // i=1
и не ти трябват никакви структури;