Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
Заблокирован

Разобраться в коде драйвера с ссылками и указателями

08.04.2017, 10:23. Показов 4061. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть некоторый оригинальный код от разработчика драйвера, мне нужно его переделать "под себя" (программа куплена , законность соблюдена) но запутался с переменными где она идет как ссылка, а где как просто переменная, стал тупо подставлять то что нужно мне выходит сообщение
C++
1
Cannon convert 'char *' to 'char'
кусок оригинального кода прилагаю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...while (1)
 {                   /* ввод и выполнение команд */
  window(1, 1, 80, 25);
  if (*szCmd != '\0')
  {
    strcpy(cmd_str, szCmd);
    *szCmd = '\0';
  }
  else
   [B] in_cmd(cmd_str);[/B]
  window(Window[nwin].nX + 1, Window[nwin].nY, 
          Window[nwin].nX + Window[nwin].nDX - 2, 
          Window[nwin].nY + Window[nwin].nDY - 1);
  [B]make_cmd(cmd_str);[/B]
 }...
вся программа (весь драйвер 210 кб) поэтому наверно нет смысла вдаваться в смысл самой программы, а функции поясню -в in_cmd(cmd_str); задается через клавиатуру некий файл с командами, мне нужно что бы программа всегда работала с одним только файлом и не могу понять как от переменной со звездочкой перейти просто к значению переменной, выложу выделенные жирным функции
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
...
void in_cmd(char *str)
/* ввод командной строки в str, селектирование управляющих и функциональных */
{
 int key;                       /* код принятый с клавиатуры, ... */
 int fInCmd;
 char ch;
 
 str_ptr = 0;
 fInCmd = 0;
 do
 {
  if (!fInCmd)
  {
   window(1, 1, 80, 25);
   gotoxy(1, 23);
   clreol();
#ifdef ENG
   cputs("Command: ");
#else
   cputs("Команда: ");
#endif
   cmd_str[str_ptr]='\0';
   cprintf(cmd_str);
  }
  fInCmd = 0;
  key = in_key();
  if ((key & 0x00FF) && key != GPLUSW)
  {
   if ((key&=0x00FF) < 0x20 && key != CR && key != LF)
   {
    make_ctrl(key);
    continue;
   }
   key=str[str_ptr++]=toupper(key&=0x00FF);
   putch(key);
   fInCmd = 1;
  }
  else
  {
   window(Window[nwin].nX + 1, Window[nwin].nY, 
           Window[nwin].nX + Window[nwin].nDX - 2, 
           Window[nwin].nY + Window[nwin].nDY - 1);
   make_func(key>>8);
   continue;
  }
 }
 while (key != CR && key != LF);
 str[--str_ptr]='\0';
}
 
void make_ctrl(int key)
/* обработка управляющих кодов, key - управляющий код. */
{
 switch (key)
 {
 case BACKSPACE:
  if (str_ptr != 0)     /* забой */
  {
   --str_ptr;
   cputs("\b \b");
  }
  break;
 case ESCAPE:       /* отмена всей строки */
  str_ptr=0;
  break;
 case TAB:
  str_ptr=0;
  nmainwin = !nmainwin;
  int_num[Window[0].nTMK] = 0;
  int_num[Window[1].nTMK] = 0;
  select_window(nmainwin);
  all_screen();
  break;
 }
}                                      
...


в идеале мне нужно функцию in_cmd(cmd_str); в программе Main() тупо отключить и в переменную cmd_str перед функцией make_cmd(cmd_str); завенести название файла вместе с командой, я пишу так
C++
1
cmd_str="R KO1";
и программа при компиляции выдает ошибку и не компилирует, я понимаю, что вы этой ситуации вы вряд ли мне сможете помочь, много разных нюансов, не все промежуточные функции тут можно выложить их много, одна тянет другую, поэтому я код написал другой код примитивный, что бы на нем разобраться, вот он, ошибка та же.

Добавлено через 13 минут
вот этот примитивный код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
include <stdio.h>
void prob (char *prim)
{
char nom="\0\0";
nom=prim+nom;
printf(" %c\n",nom);
return nom;
}
int main ()
{
char strtop="R_T";
prob(strtop);
nom=nom+"\0\0"
printf(" %c\n",nom);
return 0;
}
в чем тут ошибка?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.04.2017, 10:23
Ответы с готовыми решениями:

Разобраться с указателями и ссылками. Совсем запутался
Привет! Расскажите или скажите где подробно и понятно описан механизм работы с указателями и ссылками. то что * - указатель, а &amp;...

Работа с указателями и ссылками
Немного мутный вопрос: каким образом происходит работа с указателями и ссылками? Допустим, есть такой код: int a = 10; int* b =...

надо решить с указателями и ссылками
Вводится строка слов, разделенных пробелами (возможны лишние пробелы в начале, в конце строки и между словами). Сформировать новую строку,...

32
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
10.04.2017, 17:13
Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <string.h>
#include <string> //для std::string
 
using namespace std;
 
char* prob (char *prim) /*2. <---*///Но указываете, что хотите вернуть символ,
                                    //добавить звёздочку (добавлена)
                                    //char prob (char *prim) ===> char* prob (char *prim)
{
    char nom[10]={0};
    strcat(prim,nom);
    printf(" %s\n",prim);
    return prim;
}
 
int main()
{
    char *prim = new char[10]{"tralala"}; //Это ваш prim
 
    string strtop="R T"; //<--- Зачем здесь была скобка???
 
 
    prob(&strtop[0]); //Адрес можно передать так
    printf(" %s\n",strtop.c_str()); //<--- string - это класс из стандартной библиотеки,
                                    //используется приведение к Си строке
                                    //В С++ вообще cout есть
 
    strcat(prim,"ss");  //<--- Кавычки неправильные были, для строк двойные, для символа одиночные
    printf(" %s\n",prim);
   return 0;
}
И есть только две формы main():
int main()
int main(int argc char **argv)

Остальные использовать неправильно.

В функции можно без return:
C++
1
2
3
4
5
6
void prob (char *prim)                                    
{
    char nom[10]={0};
    strcat(prim,nom);
    printf(" %s\n",prim);
}
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
10.04.2017, 17:18
Цитата Сообщение от avitec Посмотреть сообщение
C++
1
2
strcat(prim,nom); //к значению по ссылке *prim добавляю 10 пустых символов 
printf(" %s\n",prim); //вывожу то что получилось на экран
Эти функции не знают, что такое std::string.
0
Заблокирован
10.04.2017, 17:31  [ТС]
Может оставить в покое эти разборки?, все хуже только становится и хуже, мне нужно вот в этом первоначальном коде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...while (1)
 {                   /* ввод и выполнение команд */
  window(1, 1, 80, 25);
  if (*szCmd != '\0')
  {
    strcpy(cmd_str, szCmd);
    *szCmd = '\0';
  }
  else
    //in_cmd(cmd_str); //вот эту функцию отключить 
  window(Window[nwin].nX + 1, Window[nwin].nY, 
          Window[nwin].nX + Window[nwin].nDX - 2, 
          Window[nwin].nY + Window[nwin].nDY - 1);
//а вот тут добавить значение в переменную cmd_str, что бы значение этой переменной ушло в функцию в следующей строке, т.е функция должна забрать 3 символа (команду и файл) "R T" 
 make_cmd(cmd_str);
 }...
Функция вот
Кликните здесь для просмотра всего текста
void make_cmd(char *str)
/* обработка командной строки, переход к выполнению команд */
{
if (*cmd_str == '\0')
{
switch (Window[nwin].nMode)
{
case BC_MODE:
out_base();
out_ctrl_code();
bc_out_ram(base);
break;
case RT_MODE:
out_subadr();
rt_out_ram(dir, subadr);
break;
}
}
else
strcpy(old_cmd, cmd_str);
while (*str == ' ' || *str == '\t') str++;
if (!strcmp(str, "Q"))
make_quit("");
else if (!strncmp(str, "IOD ", 4))
set_io_delay(str+4);
else if (!strcmp(str, "I"))
cmd_reset("");
else if (!strcmp(str, "F"))
fields_chg("");
else if (!strcmp(str, "BE"))
buf_edit("");
else if (!strncmp(str, "BE ", 3))
buf_edit(str+3);
else if (!strcmp(str, "BC"))
buf_clear("");
else if (!strncmp(str, "BF ", 3))
buf_fill(str+3);
else if (!strncmp(str, "SL ", 3))
set_stat_len(str+3);
else if (!strncmp(str, "WIN ", 4))
select_win(str+4);
else if (!strncmp(str, "TMK ", 4))
select_tmk(str+4);
else if (!strcmp(str, "MBC"))
mode_bc("");
else if (!strcmp(str, "MRT"))
mode_rt("");
// else if (!strcmp(str, "MMT"))
// mode_mt("");
else if (!strncmp(str, "AVT ", 4))
avt_ctrl(str+4);
else if (!strncmp(str, "ATBCSA", 6))
{
fReserv=0;
fSimpleRT=1;
fSimpleA=1;
avt_bc(str+6);
fSimpleRT=0;
}
else if (!strncmp(str, "RATBCSA", 7))
{
fReserv=1;
fSimpleRT=1;
fSimpleA=1;
avt_bc(str+7);
fSimpleRT=0;
}
else if (!strncmp(str, "ATRTSA", 6))
{
fReserv=0;
fSimpleRT=1;
fSimpleA=1;
avt_rt(str+6);
fSimpleRT=0;
}
else if (!strncmp(str, "RATRTSA", 7))
{
fReserv=1;
fSimpleRT=1;
fSimpleA=1;
avt_rt(str+7);
fSimpleRT=0;
}
else if (!strncmp(str, "ATBCS", 5))
{
fReserv=0;
fSimpleRT=1;
fSimpleA=0;
avt_bc(str+5);
fSimpleRT=0;
}
else if (!strncmp(str, "RATBCS", 6))
{
fReserv=1;
fSimpleRT=1;
fSimpleA=0;
avt_bc(str+6);
fSimpleRT=0;
}
else if (!strncmp(str, "ATRTS", 5))
{
fReserv=0;
fSimpleRT=1;
fSimpleA=0;
avt_rt(str+5);
fSimpleRT=0;
}
else if (!strncmp(str, "RATRTS", 6))
{
fReserv=1;
fSimpleRT=1;
fSimpleA=0;
avt_rt(str+6);
fSimpleRT=0;
}
else if (!strncmp(str, "ATBC", 4))
{
fReserv=0;
avt_bc(str+4);
}
else if (!strncmp(str, "RATBC", 5))
{
fReserv=1;
avt_bc(str+5);
}
else if (!strncmp(str, "ATRT", 4))
{
fReserv=0;
avt_rt(str+4);
}
else if (!strncmp(str, "RATRT", 5))
{
fReserv=1;
avt_rt(str+5);
}
#ifdef ELCUS
else if (!strncmp(str, "ATS1", 4))
{
fReserv=0;
fStatErrStop=1;
avt_stat(str+4);
fStatErrStop=0;
}
else if (!strncmp(str, "RATS1", 5))
{
fReserv=1;
fStatErrStop=1;
avt_bc(str+5);
fStatErrStop=0;
}
#endif //def ELCUS
else if (!strncmp(str, "ATS", 3))
{
fReserv=0;
avt_stat(str+3);
}
else if (!strncmp(str, "RATS", 4))
{
fReserv=1;
avt_bc(str+4);
}
#ifdef ELCUS
else if (!strncmp(str, "ATARR1", 6))
{
fATArBlk=0;
avt_arb_rt_r(str+6);
}
else if (!strncmp(str, "ATARR", 5))
{
fATArBlk=1;
avt_arb_rt_r(str+5);
}
else if (!strncmp(str, "ATARW", 5))
avt_arb_rt_w(str+5);
else if (!strncmp(str, "ATARF", 5))
avt_arb_rt_f(str+5);
else if (!strncmp(str, "BA", 2))
avt_va996(str+2);
else if (!strncmp(str, "WORDS ", 6))
set_a_words(str+6);
#endif //def ELCUS
else if (!strncmp(str, "ATFL", 4))
avt_flags(str+4);
else if (!strcmp(str, "STOP?"))
{
if (enter_mode && (avt_err || to_errors>0L || bad_starts>0L ||
channel_err>0L || data_err>0L))
fSkipCmds=1;
}
else if (!strcmp(str, "BCRT+"))
fBcRt=1;
else if (!strcmp(str, "BCRT-"))
fBcRt=0;
else if (!strcmp(str, "BEEP+"))
fBeep=1;
else if (!strcmp(str, "BEEP-"))
fBeep=0;
else if (!strcmp(str, "BEEP"))
beep("1");
else if (!strncmp(str, "BEEP ", 5))
beep(str+5);
#ifdef LPT_SYN
else if (!strcmp(str, "LP+"))
fLPTSyn=1;
else if (!strcmp(str, "LP-"))
fLPTSyn=0;
#endif
#ifdef ELCUS
else if (!strncmp(str, "OW ", 3))
tmk_outpw(str+3);
#endif //def ELCUS
else if (!strcmp(str, "P"))
kbd_pause("");
else if (!strncmp(str, "P ", 2))
kbd_pause(str+1);
else if (!strncmp(str, ";", 1))
comment(str+1);
else if (!strncmp(str, "#", 1))
;
else
if (Window[nwin].nMode == BC_MODE)
{
if (!strncmp(str, "SB ", 3))
set_base(str+3);
else if (!strncmp(str, "ERR ", 4))
set_max_err(str+4);
else if (!strncmp(str, "SN ", 3))
set_number(str+3);
else if (!strncmp(str, "SP ", 3))
set_pause(str+3);
else if (!strncmp(str, "SC ", 3))
set_ctrl_code(str+3);
else if (!strncmp(str, "GLF", 3))
start_loop_file(str+3);
else if (!strncmp(str, "GL", 2))
start_loop(str+2);
else if (!strcmp(str, "G"))
start_1("");
else if (!strcmp(str, "STO"))
statistic_out("");
else if (!strcmp(str, "STBO"))
statistic_bad_out("");
else if (!strcmp(str, "STC"))
statistic_clear("");
else if (!strncmp(str, "R ", 2))
bc_buf_rd(str+2);
else if (!strncmp(str, "W ", 2))
bc_buf_wr(str+2);
else if (!strncmp(str, "R< ", 3) && cmd_count == 1)
cmds_open(str+3);
else if (!strncmp(str, "R< ", 3) && cmd_count != 1)
cmds_open2(str+3);
else if (!strncmp(str, "RF< ", 4))
cmds_open_f(str+3);
else if (!strncmp(str, "C ", 2))
set_count(str+2);
else if (!strncmp(str, "RE ", 3))
exe_open(str+3);
else if (!strcmp(str, "T"))
bc_ram_test("");
else if (!strcmp(str, "H"))
bc_help("");
#ifdef ELCUS
else if (!strncmp(str, "SYM", 3))
sym(str+3);
else if (!strncmp(str, "OU400", 5))
{
fReserv=0;
avt_ou400(str+5);
}
else if (!strncmp(str, "ROU400", 6))
{
fReserv=1;
avt_ou400(str+6);
}
#endif //def ELCUS
else if (*str != '\0')
msg_out(undef_cmd);
}
else if (Window[nwin].nMode == RT_MODE)
{
if (!strncmp(str, "SW ", 3))
set_status_word(str+3);
else if (!strncmp(str, "HBIT ", 5))
{
set_hbit_mode(str+5);
out_rt_mode();
}
else if (!strncmp(str, "FLAG ", 5))
{
set_flag_mode(str+5);
out_rt_mode();
}
else if (!strncmp(str, "REJ ", 4))
{
set_flag_mode(str+4);
out_rt_mode();
}
else if (!strncmp(str, "BCST ", 5))
{
set_brcst_mode(str+5);
out_rt_mode();
}
else if (!strcmp(str, "DTBL 1"))
{
block_data_irq("");
out_rt_mode();
}
else if (!strcmp(str, "DTBL 0"))
{
unblock_data_irq("");
out_rt_mode();
}
else if (!strncmp(str, "SFL", 3))
set_flag(str+3);
#ifdef ELCUS
else if (!strcmp(str, "WRC"))
wr_mr_loop(str+3);
else if (!strcmp(str, "RDC"))
rd_sw_loop(str+3);
#endif //def ELCUS
else if (!strcmp(str, "SSR"))
set_sw_bits(str+3, SREQ);
else if (!strcmp(str, "SBS"))
set_sw_bits(str+3, BUSY);
else if (!strcmp(str, "SSF"))
set_sw_bits(str+3, SSFL);
else if (!strcmp(str, "STF"))
set_sw_bits(str+3, RTFL);
else if (!strcmp(str, "SDN"))
set_sw_bits(str+3, DNBA);
else if (!strcmp(str, "CSR"))
clear_sw_bits(str+3, SREQ);
else if (!strcmp(str, "CBS"))
clear_sw_bits(str+3, BUSY);
else if (!strcmp(str, "CSF"))
clear_sw_bits(str+3, SSFL);
else if (!strcmp(str, "CTF"))
clear_sw_bits(str+3, RTFL);
else if (!strcmp(str, "CDN"))
clear_sw_bits(str+3, DNBA);
else if (!strcmp(str, "SMR"))
{
rtlock(dir, subadr);
fLock=1;
}
else if (!strcmp(str, "CMR"))
{
rtunlock();
fLock=0;
}
else if (!strncmp(str, "SR ", 3))
set_subadr_r(str+3);
else if (!strncmp(str, "ST ", 3))
set_subadr_t(str+3);
else if (!strncmp(str, "SPG ", 4))
set_spage(str+4);
else if (!strncmp(str, "CPG ", 4))
set_cpage(str+4);
else if (!strncmp(str, "PG ", 3))
set_page(str+3);
else if (!strncmp(str, "SAT ", 4))
set_at(str+4);
else if (!strcmp(str, "RSW"))
read_sw("");
else if (!strncmp(str, "STP", 3))
read_sp(str+3);
else if (!strncmp(str, "R ", 2))
rt_buf_rd(str+2);
else if (!strncmp(str, "W ", 2))
rt_buf_wr(str+2);
else if (!strncmp(str, "R< ", 3))
cmds_open(str+3);
else if (!strncmp(str, "RF< ", 4))
cmds_open_f(str+3);
else if (!strcmp(str, "T"))
rt_ram_test("");
else if (!strcmp(str, "H"))
rt_help("");
else if (*str != '\0')
msg_out(undef_cmd);
}
}


Добавлено через 1 минуту
Зря я затеял с простым примером, только всех запутал и сам запутался в первую очередь

Добавлено через 1 минуту
Цитата Сообщение от daslex Посмотреть сообщение
Зачем здесь была скобка???
это была ошибка автора пример, он сам это написал, что ошибся
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
10.04.2017, 17:50
Цитата Сообщение от daslex Посмотреть сообщение
И есть только две формы main():
int main()
int main(int argc char **argv)
две с половиной. Вот ещё половина:
int main(int argc, char *argv[])
и ещё одна:
void main()

Но повторю, - указатели на char нужно запретить на первой неделе обучения строжайшим образом. Я бы даже на 10 дней запретил.
1
10.04.2017, 20:22

Не по теме:

avitec, Если что, я только в конкретном примере собрал те ошибки, которые очевидно сделаны. Это не для разборок, а для того, чтоб помочь разобраться, что именно делаете не так.

Цитата Сообщение от IGPIGP Посмотреть сообщение
и ещё одна:
Нет такой. Это ловушка! :D

0
10.04.2017, 21:50

Не по теме:

Цитата Сообщение от daslex Посмотреть сообщение
Нет такой. Это ловушка!
зато как сделана! Компилируется и работает. То есть с этой точки зрения всё в С++ это ловушка. Вот Вам ещё:
void main(int argc, char* argv[])
char**
сами подставьте. Это ещё две штуки, если строго говорить. Насчёт переносимости не знаю, но УМВР. :)
И да, -
return 0;
уберите в сишном варианте

0
10.04.2017, 22:10

Не по теме:

Я это использовал, когда не понимал return, и даже когда понимал return, но ещё не понимал, кому эта функция main должна что-то возвращать и с какой стати.

Работает не везде: clang, mingw - лесом шлют.
То ли дело указатели на char, они глотаются всем.

0
10.04.2017, 22:18

Не по теме:

Цитата Сообщение от daslex Посмотреть сообщение
Работает не везде: clang, mingw - лесом шлют.
Я же и говорю, что может не поддерживаться. Хотя хто зна, может это они по умолчанию такие. Может ключи у них какие есть.
Цитата Сообщение от daslex Посмотреть сообщение
то ли дело указатели на char, они глотаются всем.
Когда первый топовый компилятор подавится чаркой, Земля налетит на небесную ось. Истинно говорю Вам!

0
10.04.2017, 22:43

Не по теме:

2,5? Их там в студии бесчисленное множество.

C++
1
2
3
 auto main()->auto {    
    return 0;
}

0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
11.04.2017, 05:46
Цитата Сообщение от avitec Посмотреть сообщение
все хуже только становится и хуже
книгу прочтите, и всё станет понятно.
ваши попытки похожи на изучение автомобильного двигателя самостоятельно, но при этом вы ещё и не знаете, как каждая деталь по отдельности называется и вытащив, обратно вставить уже не сможете.
то, что вы знаете какие-то там другие языки вообще значения не имеет, с++ - это с++, а не какойтодругойязыккоторыйпохож.
2
Заблокирован
11.04.2017, 06:53  [ТС]
Цитата Сообщение от GbaLog- Посмотреть сообщение
а не какойтодругойязыккоторыйпохож.
круто сказано, спасибо
0
Заблокирован
12.04.2017, 09:19  [ТС]
Ну вот уже пожинаю первые плоды (тема была создана не зря), например в этой функции
C++
1
2
3
...int start_1(char *str)                                  
{
 if (end_ctrl(str)) return 0;...
str=75FD:02C6 , видимо это сегмент и смещение в памяти, где находится само значение переменной, только вот какой именно переменной пока не понял. А то что это именно ссылка на адрес задано было в в самом наименовании функции, вот тут да ?*str
C++
1
int start_1(char *str)
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
12.04.2017, 21:29
Цитата Сообщение от avitec Посмотреть сообщение
А то что это именно ссылка
Это указатель.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.04.2017, 21:29
Помогаю со студенческими работами здесь

Объявление DllImport функций с указателями и ссылками
Есть статическая библиотека С++. Нужно импортировать в С# ее метод если функция с простой сигнатурой - примерно так получается ...

Прога написана с указателями,как указатели заменить ссылками
Доброго времени суток. Прога написана с указателями,как указатели заменить ссылками? #include &lt;iostream&gt; #include...

Не могу разобраться с ссылками и все!!
Первоначальный вид ссылок!! Код HTML &lt;a href=&quot;?tip=1&quot; class=&quot;menu&quot;&gt;Главная&lt;/a&gt; &lt;a href=&quot;?tip=2&quot;...

Си, не могу разобраться с указателями
Здравствуйте, проблема с функцией sort, компилятор ругается на указатели, не могу разобраться. #include &lt;stdio.h&gt; #include...

Не могу разобраться с указателями!
Читаю Шилдт C++, не как не могу понять систему с указателями, вроде вот вот все понял что это просто типа ярлыков для переменных и не более...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru