реклама на сайте
подробности

 
 
> не возвращает по указателю
sergey sva
сообщение Mar 29 2011, 15:44
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Почему может быть так, где что посмотреть?
в одной функции выделяется память после вызывается другая функция она должна по указателю записать массив символов но возвращает абракадабру .
Код
void fun2(){

char *duf = malloc(1000);

duf ="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";

fun1(duf); //эта функция не возвращает   "1111111111122222233333333";


write ("запись старт"); //это работает

write (duf);

write ("запись енд"); //это работает

free(duf);
}


void fun1(char * buf){

buf = "1111111111122222233333333";

}

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Mar 29 2011, 16:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата
Теперь duf указывает в никуда

С duf как раз ничего не случится.
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 29 2011, 16:34
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(aaarrr @ Mar 29 2011, 18:12) *
С duf как раз ничего не случится.

Каюсь. Тормознул.

А что автору-то надо?

Цитата(sergey sva @ Mar 29 2011, 18:29) *
Понял свою ошибку, сделал через memcpy все работает.

Еще так можно
Код
void fun1(char ** buf){
    static unsigned char l_buf[] = "1111111111122222233333333";
    *buf = l_buf;
}

int main(void)
{
       char *duf;
    fun1(&duf);
    printf("after %p\n",duf);
    puts(duf);

}
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Mar 29 2011, 16:34
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Methane @ Mar 29 2011, 21:34) *
Каюсь. Тормознул.

А что автору-то надо?

К155ЛА3 biggrin.gif biggrin.gif biggrin.gif

Сообщение отредактировал GetSmart - Mar 29 2011, 17:06


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 29 2011, 16:41
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(GetSmart @ Mar 29 2011, 18:34) *
К155ЛА3 biggrin.gif biggrin.gif biggrin.gif

К155ЛА3 не цель, а средство!
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Mar 29 2011, 16:50
Сообщение #6


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Methane @ Mar 29 2011, 21:41) *
К155ЛА3 не цель, а средство!

Универсальное, на все случаи.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sergey sva   не возвращает по указателю   Mar 29 2011, 15:44
- - aaarrr   Цитата(sergey sva @ Mar 29 2011, 19:44) о...   Mar 29 2011, 15:48
- - sergey sva   ЦитатаВпрочем, сам указатель был испорчен еще в fu...   Mar 29 2011, 15:53
- - aaarrr   Да вот здесь: Кодduf ="fffffffffffffffffffffff...   Mar 29 2011, 15:54
- - sergey sva   он будет указывать на последний элемент? думал чт...   Mar 29 2011, 15:56
- - Methane   void fun1(char * buf){ static unsigned char l_buf[...   Mar 29 2011, 15:58
- - aaarrr   Нет, он будет содержать совсем не то значение, кот...   Mar 29 2011, 15:59
- - Methane   Цитата(sergey sva @ Mar 29 2011, 17:44) П...   Mar 29 2011, 16:08
|- - Methane   Цитата(GetSmart @ Mar 29 2011, 18:50) Уни...   Mar 29 2011, 16:55
- - sergey sva   Понял свою ошибку, сделал через memcpy все работае...   Mar 29 2011, 16:29
- - sergey sva   Есть разница в выделение памяти ? так char buf[10...   Mar 31 2011, 14:39
- - aaarrr   Есть, конечно. В первом случае память будет выделе...   Mar 31 2011, 14:41
- - sergey sva   Понятно.   Mar 31 2011, 14:58
- - Methane   Цитата(sergey sva @ Mar 31 2011, 16:58) П...   Mar 31 2011, 15:28
- - sergeeff   Цитата(Methane @ Mar 31 2011, 19:28) Инте...   Mar 31 2011, 15:43
- - Methane   Цитата(sergeeff @ Mar 31 2011, 17:43) Ну ...   Mar 31 2011, 15:56


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01442 секунд с 7
ELECTRONIX ©2004-2016