Форум РадиоКот • Просмотр темы - Вопросы по С/С++ (СИ)
Сообщения без ответов | Активные темы
Страница 244 из 384
[ Сообщений: 7669 ]
... , , , , , , ...
Автор
Сообщение
Аlex
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Ср дек 21, 2016 10:58:05
Модератор
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57Сообщений: 4567Откуда: Планета Земля
Рейтинг сообщения: 6
Медали: 1
Правильно. У указателя нет своего типа, у указателя есть тип, на который он ссылается. Т.к. компилятору нужно знать с какими данными работать по этому указателю.
Вернуться наверх
Реклама
WiseLord
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Ср дек 21, 2016 11:18:50
Друг Кота
Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59Сообщений: 4884Откуда: Минск
Рейтинг сообщения: 2
Всё верно. Если мы говорим об указателе, сам он используется без всяких звёздочек.
Возможно, такой код
Код:
char array[10]; char *ptr; ptr = array; char array[10]; char *ptr = array;
будет лучше воспринят, если записать его, приблизив звёздочку к типу:
Код:
char array[10]; char* ptr = array;
Но тут нужно быть осторожным, и не попасться в ловушку вроде:
Код:
char* ptr1, ptr2, ptr3;
Ибо может сложиться впечатление, что тут объявлены три указателя на char, но на самом деле указатель один (ptr1), а (ptr2 и ptr3) - это просто char-ы.
При такой записи лучше объявлять переменные-указатели каждый на своей строке.
Вернуться наверх
Реклама
Zhuk72
Заголовок сообщения: Re: Продолжение боёв по теме _Bool, void и всякой квантовой
Добавлено: Ср дек 21, 2016 15:04:34
Сверлит текстолит когтями
Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31Сообщений: 1231Откуда: Баку
Рейтинг сообщения: 0
Alex, WiseLord, ptr128, ARV - большое спасибо за участие и разъяснения!
Дальнейший разговор на общие темы сюда перенес.viewtopic.php?f=17&t=139750 aen
Вернуться наверх
ARV
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт дек 23, 2016 07:04:14
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18403Откуда: Новочеркасск
Рейтинг сообщения: 4
Медали: 2
WiseLord писал(а):
лучше объявлять переменные-указатели каждый на своей строке
я бы посоветовал расширить этот подход на объявления любых переменных - каждая в новой строке. ну разве что переменные примитивного назначения можно кучковать, которые не требуют комментариев и пояснений, например, итераторы циклов i,j,k...
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Вернуться наверх
Z_h_e
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт дек 23, 2016 09:55:16
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04Сообщений: 2708Откуда: г. Чайковский
Рейтинг сообщения: 3
Медали: 1
ARV писал(а):
на Си можно написать: for(;P("\n").R-;P("\ "))for(e=3DC;e-;P("_ "+(*u++/8)%2))P("| "+ (*u/4)%2); и это не будет ошибкой
Наверное
3DC будет ошибкой или я путаю что-то?
_________________Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Вернуться наверх
Реклама
ARV
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт дек 23, 2016 10:28:53
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18403Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Z_h_e писал(а):
3DC будет ошибкой или я путаю что-то
да, запятая пропущена
спасибо - исправил
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Вернуться наверх
Реклама
Z_h_e
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт дек 23, 2016 10:37:52
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04Сообщений: 2708Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Ну пипец, тогда
. А я то думал это должно было быть 0x3DC
_________________Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Вернуться наверх
ARV
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт дек 23, 2016 10:43:02
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18403Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Z_h_e писал(а):
Ну пипец, тогда
это не пипец... вот где полный пипец:
Спойлер Код:
m(f,a,s)char*s; {char c;return f&1?a!=*s++?m(f,a,s):s[11]:f&2?a!=*s++?1+m(f,a,s):1:f&4?a--? putchar(*s),m(f,a,s):a:f&8?*s?m(8,32,(c=m(1,*s++,"Arjan Kenter. \no$../.\""), m(4,m(2,*s++,"POCnWAUvBVxRsoqatKJurgXYyDQbzhLwkNjdMTGeIScHFmpliZEf"),&c),s)): 65:(m(8,34,"rgeQjPruaOnDaPeWrAaPnPrCnOrPaPnPjPrCaPrPnPrPaOrvaPndeOrAnOrPnOrP\ nOaPnPjPaOrPnPrPnPrPtPnPrAaPnBrnnsrnnBaPeOrCnPrOnCaPnOaPnPjPtPnAaPnPrPnPrCaPn\ BrAnxrAnVePrCnBjPrOnvrCnxrAnxrAnsrOnvjPrOnUrOnornnsrnnorOtCnCjPrCtPnCrnnirWtP\ nCjPrCaPnOtPrCnErAnOjPrOnvtPnnrCnNrnnRePjPrPtnrUnnrntPnbtPrAaPnCrnnOrPjPrRtPn\ CaPrWtCnKtPnOtPrBnCjPronCaPrVtPnOtOnAtnrxaPnCjPrqnnaPrtaOrsaPnCtPjPratPnnaPrA\ aPnAaPtPnnaPrvaPnnjPrKtPnWaOrWtOnnaPnWaPrCaPnntOjPrrtOnWanrOtPnCaPnBtCjPrYtOn\ UaOrPnVjPrwtnnxjPrMnBjPrTnUjP"),0);} main(){return m(0,75,"mIWltouQJGsBniKYvTxODAfbUcFzSpMwNCHEgrdLaPkyVRjXeqZh");}
Код:
#include <stdio.h> main (int t, int _, char *a) { return!0<t?t<3? main(-79,-13,a+main(-87,1-_,main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a) :3,main(-94,-27+t,a)&&t==2?_<13?main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72? main(_,t,"@n'+,#'/*s{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n\ {n+,/+#n+,/# ;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!\ /+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){nl]!\ /n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' iwk{KK{nl]!/\ w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c ;;{nl'-{}rw]'/+,}##'*}\ #nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/") :t<-50?_==*a?putchar(31[a]): main(-65,_,a+1): main((*a=='/')+t,_,a+1): 0<t?main(2,2,"%s") :*a=='/'||main(0,main(-61,*a, "!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry" ),a+1); }
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Вернуться наверх
WiseLord
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт дек 23, 2016 11:27:31
Друг Кота
Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59Сообщений: 4884Откуда: Минск
Рейтинг сообщения: 0
Разобраться бы ещё с тем, что такое P и R.
Вернуться наверх
Реклама
Z_h_e
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт дек 23, 2016 11:55:27
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04Сообщений: 2708Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Наверное это какая-то структура объявленная где-то ранее. DC видимо тоже переменная.
_________________Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Вернуться наверх
ARV
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт дек 23, 2016 12:19:58
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18403Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
меня раскритиковали
пришлось убрать всё сообщение
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Последний раз редактировалось ARV Пт дек 23, 2016 12:54:04, всего редактировалось 2 раз(а).
Вернуться наверх
Reflector
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт дек 23, 2016 12:38:04
Поставщик валерьянки для Кота
Карма: 20
Рейтинг сообщений: 256
Зарегистрирован: Вс июн 19, 2016 09:32:03Сообщений: 2089
Рейтинг сообщения: 0
ARV писал(а):
не ломайте голову
1. 3DC может быть корректным и без запятой, например, #define DC 12
2. P - может быть функцией, возвращающей структуру
3. R так же может быть макросом, например, #define R value-
вот и живите теперь с этим
Проверил на gcc:
Код:
#define DC 12 #define R value- struct One { int value; } one; int a = 3DC; // error int b = one.value-; // eror int c = one.R-; // error
Да, у тебя там еще
e- было, это тоже error
Вернуться наверх
ARV
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт дек 23, 2016 12:52:42
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18403Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Reflector писал(а):
Да, у тебя там еще e- было, это тоже error
вот вам делать нефига
исключительно ради вас - сменил подпись
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Вернуться наверх
FreshMan
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 09:57:51
Друг Кота
Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15Сообщений: 6296Откуда: Ukraine
Рейтинг сообщения: 0
как можна сократить данный код ?
Код:
do{ fprintf( p_file, "0x%02X,", sin_table[i] ); // вывод значения массива в файл if( i == 31 || i == 63 || i == 95 || i == 127 || i == 159 || i == 191 || i == 223 || i == 255 ) fprintf(p_file, "\n"); // перевод строки } while( ++i != 0 );
_________________Tell Me The Truth
Вернуться наверх
Zhuk72
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 10:44:15
Сверлит текстолит когтями
Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31Сообщений: 1231Откуда: Баку
Рейтинг сообщения: 1
Код:
unsigned char k = 0; do { fprintf( p_file, "0x%02X,", sin_table[i] ); // вывод значения массива в файл if ((++k) == 31) {k = 0; fprintf(p_file, "\n");} // перевод строки } while( ++i != 0 );
Так пойдет?
_________________ Каждый имеет право на свое личное ошибочное мнение. У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Последний раз редактировалось Zhuk72 Пт янв 13, 2017 11:01:02, всего редактировалось 1 раз.
Вернуться наверх
Аlex
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 10:55:28
Модератор
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57Сообщений: 4567Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
FreshMan писал(а):
как можна сократить данный код ?
Что значит "сократить" ?
Можно его удалить, тогда он сократиться до нуля
Поподробнее описывайте задачи, тут всё-таки не экстрасенсы.
Вернуться наверх
Reflector
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 11:07:48
Поставщик валерьянки для Кота
Карма: 20
Рейтинг сообщений: 256
Зарегистрирован: Вс июн 19, 2016 09:32:03Сообщений: 2089
Рейтинг сообщения: 3
FreshMan писал(а):
как можна сократить данный код ?
Код:
do { fprintf( p_file, "0x%02X,", sin_table[i] ); if((i & 0x1F) == 0x1F) fprintf(p_file, "\n"); } while(++i);
Вернуться наверх
ARV
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 11:34:46
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18403Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
FreshMan писал(а):
как можна сократить данный код ?
Код:
#define NUM_COUNT 32 int i = 0; while(i < sizeof(sin_table)){ fprintf( p_file, "0x%02X, ", sin_table[i] ); if(!(i % NUM_COUNT)) fprintf(p_file, "\n"); i++; }
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Вернуться наверх
просто КОТ
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 12:54:03
Друг Кота
Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50Сообщений: 12364Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 0
Код:
for (int i = 0; i < sizeof(sin_table); i++) { fprintf(p_file, "0x%02X, ", sin_table[i]); if(!(i % 32)) fprintf(p_file, "\n");}
Осмелюсь предложить...
_________________И ты врёшь!!! © Vladisman
Вернуться наверх
WiseLord
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 13:21:16
Друг Кота
Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59Сообщений: 4884Откуда: Минск
Рейтинг сообщения: 1
Ещё вариант:
Код:
do{ fprintf( p_file, "0x%02X,", sin_table[i] ); if(0x1F == i & 0x1F) fprintf(p_file, "\n"); } while(++i != 0);
Вернуться наверх
Страница 244 из 384
[ Сообщений: 7669 ]
... , , , , , , ...
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения