Позволяет ли стандарт C присваивать указателю произвольное значение и увеличивать его?

хорошо ли определено поведение этого кода? #include <stdio.h> #include <stdint.h> int main(void) { void *ptr = (char *)0x01; size_t val; ptr = (char *)ptr + 1; val = (size_t)(uintptr_t)ptr; printf("%zu\n", val); ...

Нуль всегда равен нулю в C?

вчера я брал интервью у парня на должность программиста среднего уровня, и он упомянул, что в C NULL не всегда равен нулю и что он видел реализации C, где NULL не равен нулю. Я нахожу это весьма подозрительным, но я хочу быть уверенным. Кто-нибудь зн ...

В C, как бы я выбрал, возвращать ли структуру или указатель на структуру?

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

Динамическое выделение массива объектов

это своего рода вопрос для начинающих, но я не делал C++ в течение длительного времени, так что здесь идет... у меня есть класс, который содержит динамически выделенный массив, скажем class A { int* myArray; A() { myArray = 0; ...

что возвращает malloc(0)? [дубликат]

этот вопрос уже есть ответ здесь: какой смысл в malloc(0)? 16 ответов Что значит malloc(0) возвращает? Будет ли ответ таким же для realloc(malloc(0),0) ? #i ...

Моделирование указателей в Python

Я пытаюсь скомпилировать in house language(ihl) на Python. одна из функций ihl-это указатели и ссылки, которые ведут себя так, как вы ожидаете от C или c++. например, вы можете сделать это: a = [1,2]; // a has an array b = &a; // b point ...

Когда можно получить доступ к указателю на "мертвый" объект?

во-первых, чтобы уточнить, я не про разыменование недействительного указателя! рассмотрим следующие два примера. Пример 1 typedef struct { int *p; } T; T a = { malloc(sizeof(int) }; free(a.p); // a.p is now indeterminate? T b = a; // Access t ...

Что такое функция звездочки перед именем функции?

Я был смущен тем, что я вижу на большинстве программ на C, которые имеют незнакомые объявления функций для меня. void *func_name(void *param){ ... } что значит * подразумевает функции? Мое понимание о (*) в типе переменной является то, что он ...

Разыменование указателя на 0 в C

иногда данные по адресу памяти 0x0 довольно ценны -- возьмите x86 real mode IVT в качестве более известного примера: он начинается с 0x0 и содержит указатели на обработчики прерываний: dword в 0x00-указатель на деление на нулевой обработчик ошибок. ...

C Программирование: malloc () внутри другой функции

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

Стоимость приемника и указателя приемника в Golang?

мне очень непонятно, в каком случае я хотел бы использовать приемник значений вместо того, чтобы всегда использовать приемник указателей. Чтобы резюмировать из документов: type T struct { a int } func (tv T) Mv(a int) int { return 0 } ...

Это хорошая практика, чтобы освободить нулевой указатель в C? [дубликат]

Возможные Дубликаты:делает ли free (ptr), где ptr является нулевой поврежденной памятью? Я пишу функцию C, которая освобождает указатель, если он был malloc()ed. Указатель может быть либо нулевым (в случае, если произошла ошибка и код не получ ...

Точка."( ") оператор и Стрелка ( "- > " ) использование оператора в C против Objective-C

Я пытаюсь обернуть голову вокруг некоторых различий в использовании и синтаксисе в C против Objective-C. В частности, я хочу знать, как (и почему) использование отличается для оператора точки и оператора стрелки в C против Objective-C. Вот простой пр ...

Проверка, выделен ли указатель памяти или нет

можем ли мы проверить, выделен ли указатель, переданный функции с памятью или нет в C? У меня есть wriiten моя собственная функция в C, которая принимает указатель символа - buf [указатель на буфер] и размер - buf_siz [размер буфера]. Фактически пе ...

Javascript указатель / ссылка сумасшествие. Может кто-нибудь объяснить это?

Javascript передает объекты по ссылке. В этом есть смысл. Но как только вы начинаете манипулировать этими объектами, все действует так, что кажется неинтуитивным. Позвольте мне привести пример: var a, b; a = {} b = a; a['one'] = {}; console.log( J ...

Длина массива в аргументе функции

это хорошо известный код для вычисления длины массива в C: sizeof(array)/sizeof(type) но я не могу найти длину массива, переданного в качестве аргумента функции: #include <stdio.h> int length(const char* array[]) { return sizeof(array)/s ...

Как происходит разыменование указателя функции?

почему и как разыменование указателя функции просто"ничего не делает"? вот о чем я говорю: #include<stdio.h> void hello() { printf("hello"); } int main(void) { (*****hello)(); } из комментария сюда: разыменование указателей фу ...

Удаление указателя в C++

контекст: я пытаюсь обернуть голову вокруг указателей, мы только что видели их пару недель назад в школе, и во время практики сегодня я столкнулся с глупым? проблема, это может быть очень просто для вас, но у меня мало опыта программирования. Я виде ...

C++: разница между амперсандом " & "и звездочкой" * " в объявлении функции/метода?

есть ли какая-то тонкая разница между ними: void a1(float &b) { b=1; }; a1(b); и void a1(float *b) { (*b)=1; }; a1(&b); ? Они оба делают то же самое (или так кажется из main ()), но первый явно короче, однако большая часть кода ...