HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 21.11.2008, 02:00
InfernoNet
Banned
Регистрация: 07.11.2007
Сообщений: 301
С нами: 9741926

Репутация: 595
По умолчанию

Элементарный вопрос. Для чего нужно:
Цитата:
main ()
и чем оно отличается от
Цитата:
vaild main ()
??
 
Ответить с цитированием

  #2  
Старый 21.11.2008, 02:08
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами: 10633766

Репутация: 93
По умолчанию

Цитата:
Сообщение от InfernoNet  
Элементарный вопрос. Для чего нужно:

и чем оно отличается от

??
точка входа в программу функция main(), а vaild ето тип возращаемый ОС тип.... первый раз вижу vaild - где ты ето увидел?
 
Ответить с цитированием

  #3  
Старый 22.11.2008, 23:48
InfernoNet
Banned
Регистрация: 07.11.2007
Сообщений: 301
С нами: 9741926

Репутация: 595
По умолчанию

Цитата:
Сообщение от ToniKapuchon  
точка входа в программу функция main(), а vaild ето тип возращаемый ОС тип.... первый раз вижу vaild - где ты ето увидел?
У препода на доске.
 
Ответить с цитированием

  #4  
Старый 21.11.2008, 02:42
Smapt
Познающий
Регистрация: 29.01.2008
Сообщений: 82
С нами: 9622901

Репутация: 88
По умолчанию

есть такой код:
Код:
struct abs1
{
	unsigned char a; //1-byte
	unsigned short b;//2-byte
};
void pr(unsigned char*t)
{
	for(int i=0;i<sizeof(t);i++) printf("%x ",t[i]);
}

int main()
{
	abs1 test;
	test.a = (unsigned char)0x31;
	test.b = (unsigned short)0x32;
	printf("Struct size: %d\n",sizeof(test));

	pr((unsigned char*)&test);
	getchar();
	return 0;
}
Выводит:
Struct size: 4
31 CC 32 00

Почему размер структуры 4 если (чар -1баит и шорт-2байта) должен быть 3 байта.

Лишний байт виден при печати структуры (второй - 0хСС)

как от него избавится?
 
Ответить с цитированием

  #5  
Старый 21.11.2008, 02:53
iv.
Познавший АНТИЧАТ
Регистрация: 21.03.2007
Сообщений: 1,200
С нами: 10074686

Репутация: 1204


По умолчанию

Цитата:
Почему размер структуры 4 если (чар -1баит и шорт-2байта) должен быть 3 байта.
Видимо выравнивание вступает в ход.
Цитата:
Лишний байт виден при печати структуры (второй - 0хСС)

как от него избавится?
Очищать память, CC - мусор.
 
Ответить с цитированием

  #6  
Старый 21.11.2008, 03:06
Smapt
Познающий
Регистрация: 29.01.2008
Сообщений: 82
С нами: 9622901

Репутация: 88
По умолчанию

Если я правильно понимаю после очистки мамяти будет 31 00 32 00, я прав? Мне же необходимо от "лишнего" байта избавится, т.е. структура должна быть размером именно 3 байта.
 
Ответить с цитированием

  #7  
Старый 21.11.2008, 16:19
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
С нами: 9679872

Репутация: 347
По умолчанию

Цитата:
Сообщение от Smapt  
Если я правильно понимаю после очистки мамяти будет 31 00 32 00, я прав? Мне же необходимо от "лишнего" байта избавится, т.е. структура должна быть размером именно 3 байта.
Для того чтобы включить выравнивание по границе байта нужно сделать

#pragma pack(push, 1)

тут структура

#pragma pack(pop)
 
Ответить с цитированием

  #8  
Старый 21.11.2008, 03:38
SVAROG
Постоянный
Регистрация: 13.02.2007
Сообщений: 406
С нами: 10126406

Репутация: 206
По умолчанию

нужно прочесть данные из реестра, тип данных REG_SZ, компилиться без ошибок, но в буфере(Reget) где должны быть данные пусто
часть кода
Код:
HKEY hKey;
RegOpenKeyExA(HKEY_LOCAL_MACHINE,"SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfeaces\\{2BF69BB5-EB8E-48CE-8D1F-FA2CCF27B}", 0, KEY_READ, &hKey);
char Reget[64];
DWORD RegetPath = sizeof(Reget);
DWORD type = REG_SZ;
RegQueryValueExA(hKey, "DhcpIPAddress", NULL, &type, (PBYTE)Reget, &RegetPath);
RegCloseKey(hKey);

printf(Reget);
 
Ответить с цитированием

  #9  
Старый 21.11.2008, 11:04
12usver12
Познающий
Регистрация: 12.12.2007
Сообщений: 81
С нами: 9691420

Репутация: 53
По умолчанию

Svarog попробуй вместо &type влепить 0 , у меня работало так
 
Ответить с цитированием

  #10  
Старый 21.11.2008, 12:52
Diablo@Dragon
Познающий
Регистрация: 14.11.2007
Сообщений: 68
С нами: 9732478

Репутация: 8
По умолчанию

Сообщение от ToniKapuchon
void func(int p=1;int p1=2)
{
}

в компосере непашет такого вида конструкция нехочет компилить
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...