Результаты поиска по запросу "pointers"

5 ответов

 Вы можете назначить ему строковый литерал во время инициализации, поскольку это поддерживается языком. И не путайте присвоение с инициализацией. Во время присваивания, поскольку это массив символов, вы должны изменять значение символ за символом. Вы пытаетесь адресовать первый адрес строкового литерала первому символу массива (имя массива возвращает адрес первого элемента массив). И это явно не правильно, так как первый элемент не является указателем, он не может хранить адрес.

кто-нибудь объяснить, почему это работает с указателем: char * str1; str1 = "Hello1"; str1 = "new string"; // but not this char str2 [] = "hello"; str2 = "four"; // or this char str3 []; str3 = "hello"; str3 = "hello";

5 ответов

Игнорирование предупреждения и использование вашего кода «как есть» на самом деле также возможно, но имейте в виду, что любой аргумент функции будет подвергаться продвижению аргумента по умолчанию, и вы несете ответственность за то, чтобы продвигаемые аргументы правильно соответствовали объявленным параметрам.

я есть указатель на функцию внутриstruct это динамически устанавливается во время выполнения на адрес другой функции в разных местах в моем коде. Это определено в моем заголовочном файле следующим образом: void *(*run)();Во время компиляции я ...

4 ответа

Также обратите внимание, что ваш связанный список поврежден, потому что вы никогда не устанавливаете указатель «next» нового элемента так, чтобы он указывал на старый заголовок, и аналогично указателю «previous», если список является двусвязным.

я проблемы с пониманием этого кода. Все, что мне действительно нужно, это изменить указатель головы, чтобы он указывал на первый элемент. Так почему бы * не работать головой? Изменение значения * head меняет то, куда указывает этот указатель, и ...

ТОП публикаций

4 ответа

 которые являются копиями друг друга, может определить, когда уничтожен последний член семьи.

жные дубликаты: pimpl: shared_ptr или unique_ptr [https://stackoverflow.com/questions/5576922/pimpl-shared-ptr-or-unique-ptr] умные указатели (повышение) объяснил [https://stackoverflow.com/questions/569775/smart-pointers-boost-explained] Может ...

1 ответ

@xaxxon В C ++ нет отдельной вещи, такой как метод. тип указателя на функцию включает функции-члены.

жно ли иметь нетипичный параметр шаблона, который на самом деле является указателем на члена класса? Я собираюсь сделать что-то вроде следующего: struct Person { Dog dog; }; template <?? ptr> struct Strange { // ... }; ...

1 ответ

Я согласен, что, вероятно, не следует инициализировать подобные вещи, но это не является «неправильным» в сильном смысле. Стандарт явно допускает такую ​​«плоскую» инициализацию.

int a[3][4] = { 1,2,3,4, 5,6,7,8, 9,10,11,12, }; printf("%u %u %u \n", a[0]+1, *(a[0]+1), *(*(a+0)+1));

1 ответ

Вы не можете использовать «смещение» для локальных переменных, так как их адрес не фиксируется во время компиляции / сборки. Вы должны использовать LEA (Load Effective Address). За кулисами местные жители упоминаются как [ESP + xx] или [EBP + xx] :)

семблере, если мы используем mov eax, dword ptr[ebx]тогда это означает скопировать значение, указанное в ebx (ebx содержит значение адреса, а не фактическое значение, эта инструкция копирует фактическое значение в адресе)? Если мы ...

8 ответов

когда вы пытаетесь вызвать какую-либо функцию, тогда автоматически выделяется память в стеке, но обычно после выполнения определения стека кадр стека удаляется из памяти стека, особенно если вы хотите, чтобы ваша функция возвращала адрес, затем создайте переменные, которые используются в функции определение как статическое

денная ниже функция принимает аргумент argv [0], который содержит путь вызова приложения, и заменяет последний бит, пока он не достигнет "/", с именем нового приложения, которое я хочу создать, которое находится в той же папке. Кстати, я ...

7 ответов

 может быть прочитан через указатель. Я не вижу ничего в ОП, что бы указывало на что-то более глубокое, чем это.

я есть указатель на вектор. Теперь, как я могу прочитать содержимое вектора через указатель?

19 ответов

Это вопрос C. Также вы не должны использовать malloc в C ++

двойной указатель должен использоваться в C? Кто-нибудь может объяснить на примере? Что я знаю, так это то, что двойной указатель является указателем на указатель. Зачем мне нужен указатель на указатель?