Articles of указателей

тип int * (*) (int *, int * (*) ())

int * (*) (int *, int * (*) ()) Я хотел бы знать, что это за тип? , может ли кто-нибудь привести пример объявления с использованием этого типа. любая помощь была бы большой. Благодарю.

Разрушение указателей void

В надежде получить лучшее понимание ответов, приведенных в этом сообщении, может кто-нибудь объяснить мне, возможна ли следующая реализация циклического буфера, а если нет, почему бы и нет. #define CB_TYPE_CHAR 0 #define CB_TYPE_FLOAT 1 … typedef struct CBUFF { uint16 total; /* Total number of array elements */ uint16 size; /* Size of each array element […]

Неудобства указателей на статические переменные

Я часто использую функции удобства, которые возвращают указатели на статические буферы, такие как: char* p(int x) { static char res[512]; snprintf(res, sizeof(res)-1, “number is %d”, x)); return res; } и использовать их повсюду в качестве аргументов для других функций: … some_func( somearg, p(6) ); …. Однако это «удобство» имеет раздражающий недостаток, кроме того, что он […]

C Указатель и распределение памяти: массивы Realloc и передача указателя

Для тех, кто знаком с C, это будет простая проблема с распределением памяти / ссылкой: Вот мои структуры данных: struct configsection { char *name; unsigned int numopts; configoption *options; }; typedef struct configsection configsection; struct configfile { unsigned int numsections; configsection *sections; }; typedef struct configfile configfile; Вот мои подпрограммы для инициализации configsection или configfile […]

Вопрос-указатель-экстерьер

Файл 1.c int a[10]; Файл main.c: extern int *a; int main() { printf(“%d\n”, a[0]); return 0; } Дает мне segfault! Что случилось?

Как описать const указатель на массив в C / C ++?

Я знаю, что тип, который является указателем на int[10] (ptr->int[10]) является int (*var)[10] , но как описать тип удара типа? тип, который является указателем на const int[10] (ptr->const int[10]) тип, который является const указателем на int[10] (const ptr->int[10]) тип, который является const указателем на const int[10] (const ptr->const int[10])

Массив программных указателей (C-программирование)

Поэтому я пытаюсь понять, как сделать несколько разных вещей, и я не очень много работал с C, поэтому любая помощь была бы высоко оценена. typedef int data_t; typedef struct set { data_t *array; size_t capacity; size_t size; } set_t; typedef data_t* set_i_t; #define CLEAR -1 Я получил этот метод, который использует malloc и выделяет память: […]

массив в структуре и заполнить его

на данный момент у меня есть проект для учебы, и я и друг действительно не знаем, как решить проблему на части этого. Итак, это проект C. У меня 2 структуры: struct Lib { char letter; int capacity; int size; char** words[200000]; }; typedef struct Lib Library; struct Program { char* loadedFileName[50]; FILE* f; Library* dictionary; […]

массивы подстроки указателя

Я пытаюсь скопировать часть строки в другую строку с помощью указателей. Моя результирующая строка начинает копироваться в нужном месте, хотя она не останавливается после превышения количества. Кроме того, строка не является копией из исходной строки, а не из параметра результата #include char *getSub(const char *orig, int start, int count, char *res); int main(void) { const […]

Почему «c » компилируется, а «c » – нет?

Этот пример компилируется без предупреждений / ошибок (gcc 4.8.2 -Wall): #include int main() { char c; int i; printf(“%p %02x\n”,&i,c[&i]); printf(“%p %02x\n”,&c,c[&c]); // important to note that this line DOESN’T compile: //printf(“%p %02x\n”,&i,c[i]); // which makes sense as c is NOT an array, it is a char. return 1; } Почему синтаксис c [& i] […]