LINUX.ORG.RU

Сообщения dffrwpv

 

Размер malloc для структуры с char * в Си

Если я хочу выделить память для структуры с какими-то значениями без указателей, то могу просто сделать malloc(sizeof).

Но если у меня в структуре char *, т.е. какая-то строка размер которой я пока что не знаю, как выделять память с malloc?

 

dffrwpv
()

Указатель на указатель в си

Почему для изменения значения переменной через доступ к указатель указателя необходимо использовать две звезды * * в примере ниже, а write хватает * звезды чтобы добраться до значения?

    char test = 'a';
    char *ptr_to_char = &test;
    char **ptr_to_ptr = &ptr_to_char;
    
    *ptr_to_ptr = 'd'; 
/* Incompatible integer to pointer conversion assigning to 'char *' from 'int'*/

    **ptr_to_ptr = 'b';
/* works */
    
    write(1, *ptr_to_ptr, 1);
/* also works */

 

dffrwpv
()

RSS подписка на новые темы