Ну вот я кажется уже неплохо стал ориентироваться в ссылках и указателях (за что всем спасибо)
Но все же вопросы остались.
Состряпал код, который внезапно работал только на половину.
Входной массив 012345, выходной 123455.
В функции прибавляю к каждому значению ячейки 1 (как видите последний не захотел)
void __fastcall TForm1::Button1Click(TObject *Sender) { int kakoy_to_massiv[5]; for (int i=0; i<6; i++){ kakoy_to_massiv[i]=i; Label2->Caption=Label2->Caption+kakoy_to_massiv[i]; } kakaya_to_functcia(&kakoy_to_massiv[0], &kakoy_to_massiv[5]); for (int i=0; i<6; i++){ Label1->Caption=Label1->Caption+kakoy_to_massiv[i]; } } //---------------- void kakaya_to_functcia(int *a, int *g){ for (int i=0; i<6; i++){ *(a+i)+=1; // Увеличиваю значение на 1 //a[i]+=1; //Второй вариант увеличения } //*g=7; //Попытка изменить 5-ый элемент вручную (безуспешно) } //---------------------------------------------------------------------------
После долгих попыток заставить работать последний адрес массива я решил попробовать вывести этот самый злосчастный адрес на форму, и посмотреть на него (может прозрение случилось бы,не сидеть же сложа руки =) ).
Корректно вывести не получилось(как мне кажется он неверен.) (Кстати не подскажите как?)
Но код внезапно заработал! Почему?
void __fastcall TForm1::Button1Click(TObject *Sender) { int kakoy_to_massiv[5]; for (int i=0; i<6; i++){ kakoy_to_massiv[i]=i; Label2->Caption=Label2->Caption+kakoy_to_massiv[i]; } kakaya_to_functcia(&kakoy_to_massiv[0], &kakoy_to_massiv[5]); for (int i=0; i<6; i++){ Label1->Caption=Label1->Caption+kakoy_to_massiv[i]; } //ВОТ ЭТОТ КУСОК//////////////// int prosto1=55; // int *prosto2=&prosto1; // AnsiString adres; // adres = IntToHex(*prosto2, 8); // Label3->Caption=adres; // ///////////////////////////////////// } //---------------- void kakaya_to_functcia(int *a, int *g){ for (int i=0; i<6; i++){ *(a+i)+=1; //a[i]+=1; } //*g=7; }
P.S. В книге "Моя первая программа на C/C++ - Нейбауэр А. " хорошо написано, а вот в справочнике "Программирование в C++ Builder А. Я. Архангельский" я недостаточно понял =(
подпись была удалена администрацией
просьба не использовать картинки с сайта heroeslibrary.net, так как на них ругается Chrome
(This post was last modified: 03.04.2012 17:17 by packa.)