чар в инт - туплю
01.03.2018, 12:35
|
|
|
Гражданин KAZUS.RUN
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: чар в инт - туплю
Сообщение от NewWriter
|
Жесть.
int a;
char b = 5;
a = (int)b;
Ночью лучше спать. Потому что даже на русском языке каша вышла
|
Или нет?
|
|
|
|
01.03.2018, 12:41
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: чар в инт - туплю
Все так. Народ усложняет себе жизнь зачем-то.
|
|
|
|
01.03.2018, 12:49
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: чар в инт - туплю
Сообщение от индюк
|
|
int n = *args[0];
|
о_О о_О о_О о_О о_О о_О
int n = args[0]; - понимаю как: присвоить переменной n значение, находящееся в нулевой ячейке массива args[];
int n = *args; - понимаю как: присвоить переменной n значение, находящееся в ячейке массива args[], расположенной по адресу начала массива (суть то же самое, что выше);
int n = *args[0]; - понимаю как: присвоить переменной n значение, находящееся по адресу, который находится в нулевой ячейке массива args[]...
херовый, видать, из меня компилятор?  Или нет?
Последний раз редактировалось AR_Favorit; 01.03.2018 в 13:41.
|
|
|
|
Эти 2 пользователя(ей) сказали Спасибо AR_Favorit за это сообщение:
|
|
|
01.03.2018, 13:00
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: чар в инт - туплю
у него args это указатель на указатель
char ** args
|
|
|
|
01.03.2018, 13:04
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: чар в инт - туплю
Массив указателей или лишнее разыменование?
|
|
|
|
01.03.2018, 13:47
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,918
Сказал спасибо: 3,109
Сказали Спасибо 3,030 раз(а) в 2,258 сообщении(ях)
|
Re: чар в инт - туплю
Сообщение от AR_Favorit
|
|
int n = *args[0]; - понимаю как: взять значение, лежащее в нулевой ячейке массива args[] и использовать как указатель, содержащий значение адреса, по которому следует взять значение, которое присваивается переменной n.
|
Поскольку
Сообщение от индюк
|
есть строка в ней лежит чар...
...потом эти же биты напрямую кинуть в шим регистр??? ну или поделить там их на 4 например
|
чар - неизвестен, то какая разница, что попадет в шим регистр?
А если поделить на 4, то и ошибка из-за того, что хз что было взять хз откуда, тоже уменьшится в 4 раза и станет менее существенной.
Главное - программа скомпилируется и будет как-то работать...
|
|
|
|
01.03.2018, 14:53
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: чар в инт - туплю
по-сути, не важно, что лежит по указателю. Поэтому я в таких случаях использую просто 'void ** args'
|
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
01.03.2018, 16:09
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: чар в инт - туплю
Я о том, что
Сообщение от индюк
|
|
есть строка в ней лежит чар
|
А в такой записи, которую привел индюк, он берет не "чар из строки", а неизвестно что, находящееся по адресу, на который указывает "чар из строки"... Нет?
|
|
|
|
01.03.2018, 16:29
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: чар в инт - туплю
Это индюк. Понять его может только другой индюк. Может он эту строку потом парсить будет? Мы не знаем
|
|
|
|
01.03.2018, 16:38
|
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 11,134
Сказал спасибо: 202
Сказали Спасибо 3,285 раз(а) в 2,151 сообщении(ях)
|
Re: чар в инт - туплю
целиком это воттак выглядит
#define SEP ","
#define NARGS (25)
char * args[NARGS];
char arg_buf[STR_SIZE];
int getArgs(char * str , char ** args)
{
char * bptr=arg_buf;
char * ptr = strstr(str,SEP);
char * ptr_p = str-1;
char str2[STR_SIZE];
int narg =0;
int l;
memset(arg_buf, 0,STR_SIZE);
while (ptr != NULL && narg ‹NARGS)
{
l = (ptr - ptr_p -1);
if( l ›= STR_SIZE ) l = STR_SIZE-1;
strncpy( bptr , ptr_p + 1 , l );
args[narg]=(char*)bptr;
bptr+= l+1;
ptr_p = ptr;
ptr = strstr(ptr+1,SEP);
narg++;
}
l= strlen(ptr_p+1);
if(l›0)
{
strncpy( bptr , ptr_p + 1 , l );
args[narg]=(char*)bptr;
narg++;
}
//txuart2(" \r\n");
return (narg);
}
int parseCommand(char * str)
{
int t1;
int narg = getArgs(str,args);
if(strstr(args[0],"ADR") == args[0] )
{
int dadr = hexToInt(args[1],2);
int dat2 = hexToInt(args[2],  ;
if(dadr==1)
if (dat2==1)
{ GPIOB-›BSRR = (1‹‹6);
}
if (dat2==2)
{ GPIOB-›BRR = (1‹‹6);
}
}
//int nn = *args[0];
int nn = (int)args[0];
}
__________________
кагмаподэ магмаподэ
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:44.
|
|