Типы данных для «указания» на другие значения: значение указателя — это адрес памяти, где хранится указываемое значение. Этот тег следует использовать для вопросов, связанных с использованием указателей, а не ссылок. Распространенными языками программирования, использующими указатели, являются C, C++, Go, а также языки ассемблера и промежуточного представления; использовать определенный языковой тег. Другие полезные теги должны описывать, на что указывает указатель (например, функция, структура и т. д.).

Подробнее про pointers...

int *p_numbers; p_numbers = malloc((sizeof *p_numbers) * 10); if (p_numbers == NULL) exit(EXIT_FAILURE); for (int i = 0; i < sizeof(p_numbers) / sizeof(*p_numbers); i++) { printf("-> %p\n\n", p_numbers); p_numbers[i] = 0; } Ищем операцию, которая бы опре...
25 Сен 2023 в 19:41
Код: antarctica_years_end s01, s02, s03; s01.year = 1998; antarctica_years_end* pa = &s02; pa->year = 1999; antarctica_years_end trio[3]; // array of 3 structures trio[0].year = 2003; antarctica_years_end* arp[3] = { &s01, &s02, &s03 }; std::cout << arp << " ...
24 Сен 2023 в 22:33
Рассмотрим следующий код C #include <stdio.h> int main() { int arr[] = {10, 20, 30, 40}; int *ptr = arr; // ptr points to the internal pointer variable of `arr`, that is, the address of its first array element, 10. printf("The address of the first int array element is : ...
24 Сен 2023 в 18:35
Я пытаюсь реализовать функцию «split()» из Python в C и с помощью следующего кода: #include <stdio.h> #include <string.h> int strsplit(char *, unsigned long *); void strprint(char *); void empty_arr(char *); int main() { char str1[] = "help me out"; // changeable line ~~~~~~~~~~~~~~ unsigned ...
24 Сен 2023 в 01:49
Я изучаю C, пытаясь реализовать общую функцию подкачки, способную менять местами строки и массивы. Я думаю, что это возможно, потому что строки и массивы по сути представляют собой массивы в памяти, и я меняю не реальные байты, а только указатели. Вот моя реализация: #include "stdio.h" void swap(...
23 Сен 2023 в 12:44
Я пытался понять сообщение от geeksforgeeks и не смог понять фрагмент кода. Вот следующий пост: https://www.geeksforgeeks.org/returning-a-function-pointer-from-a-function-in-c-cpp/ В этом посте они приводят пример кода следующим образом: На основе следующего кода #include <stdio.h> int add(int a,...
23 Сен 2023 в 08:39
В настоящее время я работаю над проектом программирования на C и столкнулся с проблемой, которую пытаюсь решить. Проблема: Я использую код Visual Studio (VS Code) в качестве редактора кода. Проект состоит из следующих файлов: Main.c: #include "list.h" #include <stdio.h> int main() { List* l = ...
23 Сен 2023 в 00:23
Я разрабатываю библиотеку, поэтому не знаю контекст приложения, которое позже будет использовать библиотеку. У меня два класса. Класс Window регистрирует виджеты, поэтому он может, например. пересылать события пользовательского интерфейса в виджеты. Класс Widget представляет виджет, отображаемый...
У меня есть текстовый файл, заполненный тремя именами. Я пытаюсь прочитать текстовый файл в массив символов и отобразить количество элементов. Однако мой счетчик в функции readfrom(), похоже, выводит количество символов в текстовом файле. А при отображении массива каждый символ отображается с нов...
22 Сен 2023 в 13:05
Мы пытаемся создать пузырьковую сортировку, которая может принимать массив int, float или c-string. Мы уже написали функцию swap, которая позволяет нам это делать, но теперь не можем понять, как заставить ее работать с пузырьковой сортировкой. #include <stdio.h> #include <stdlib.h> #include <string...
21 Сен 2023 в 17:46
Я пытаюсь инициализировать указатель, указывающий на указатель, указывающий на символ (char**): char arr[8]; char ** arrptr = &arr; И я получаю предупреждение: «инициализация из несовместимого типа указателя» Что случилось с этим?...
21 Сен 2023 в 11:54
При разработке функции, которая ожидает непрерывный массив в форме указателя, следует ли передавать массив с помощью A. Указатель и размер массива: void foo(int* arr, size_t size); Или Б. Указатель начала и указатель конца: void foo(int* arrBegin, int* arrEnd); Очевидно, что общий размер параметро...
20 Сен 2023 в 23:23
Я прохожу курс C, и мне трудно разобраться в следующем упражнении. Учитывая два указателя на символы, функция должна сравнивать строки, на которые указывают указатели, лексикографически (с учетом регистра). Он должен возвращать отрицательное, 0 (ноль) или положительное целочисленное значение, если ...
19 Сен 2023 в 15:38
Я хотел бы преобразовать 2D-массив (faces0) в 2D-вектор (face1). Я попробовал следующий код. Выдает ошибку времени компиляции. bool read_polygon_mesh(Point_3 *points0, int **faces0, Polygon_mesh& polygon_mesh) { std::vector<Point_3> points(points0, points0 + sizeof points0 / sizeof poi...
19 Сен 2023 в 08:40
У меня есть файл заголовка и два исходных файла. Ниже приведен код моего файла tpool_pq.h. typedef enum priority_t {LOW = 1, MEDIUM = 3, HIGH = 5} priority_t; typedef struct task_t { void (*function)(); void *arguments; priority_t priority; } task_t; typedef struct tpool_pq { task_...
19 Сен 2023 в 07:44
Чтобы создать и инициализировать b2Body, нам нужно создать b2BodyDef, b2Shape и b2FixtureDef, и мы передаем эти значения как указатели на функции. Итак, я мог бы иметь такую ​​функцию createBody: b2Body* createBody(b2World& world, b2Vec size, float density, float friction) { b2BodyDef bodyDef; ...
18 Сен 2023 в 21:39
Мне поручено написать программу, которая спрашивает пользователя, сколько денег ему нужно потратить, а затем спрашивает пользователя, сколько билетов он хочет купить. У меня должна быть функция main() и функция PurchaseTickets(). Я новичок в указателях и совершенно не понимаю, как их использовать ...
18 Сен 2023 в 05:11
Я видел и писал функции, которые передают параметры в ссылку на обновляемые объекты, потому что либо мне нужен был код возврата, либо мне нужно было изменить более одной переменной в одной функции. Теперь я увидел код, написанный, как показано ниже, и мне трудно понять, как/почему переменная bool (в...
18 Сен 2023 в 04:25
У меня есть следующий объект: class Container { public: std::vector<std::unique_ptr<Item>>& items() { return m_items; } private: std::vector<std::unique_ptr<Item>> m_items; }; Я хотел бы использовать const, чтобы сделать весь этот объект неизменяемым, но при этом обеспечить доступ к items(...
18 Сен 2023 в 00:57
Я знаю, что если мы вызываем функцию, используя «вызов по значению», мы не можем перезаписать значение, которое мы передаем функции внутри функции, и если функция возвращает значение указателя, мы не должны пытаться вернуть адрес локальной переменной. (локально для функции), потому что эта локальна...
17 Сен 2023 в 20:18
Мне нужно выполнить этот проект на Flex/Yacc, где я должен вычислить абстрактное синтаксическое дерево инсемистического выражения. Но настоящая проблема заключается в коде C. Я сделал эту функцию, которая создает узел: node_t * createNode(node_content_t nodecontent, int nodetype){ node_t *newNo...
17 Сен 2023 в 05:23
Например: struct A { char s[10]; } f() { struct A ret; scanf("%9s", ret.s); return ret; } int main() { char *str = f().s; puts(str); } str указывает на действительную строку? или его освободили? Если это безопасно, то где хранятся строковые данные? кадр стека основного?...
16 Сен 2023 в 09:19
Я пытаюсь присвоить строковые литералы массиву символов. Этот код отлично работает #include <stdio.h> struct student { char* name; }; struct student s[2]; void main() { s[0].name = "jason"; s[1] = s[0]; printf("%s%s", s[0].name, s[1].name); s[1].name = "fedin"; printf("...
16 Сен 2023 в 05:33
Вот коды: typedef std::vector<int const*> TempArrayType; TempArrayType tempArray; Когда я использую tempArray, его тип неявно преобразуется в std::vector, и я не знаю, почему. Я считаю, что между T const* и const T* есть некоторые различия, но я не уверен, равен ли vector<T const*> vector<const T*>...
15 Сен 2023 в 11:18
Простое определение: class B1 { /* stuff, virtual methods */ }; class B2 { /* stuff, virtual methods */ }; class D : public B1, public B2 { /* stuff, overrides*/ }; Некоторые переменные: D obj; B1 *bp1 = &obj; B2 *bp2 = &obj; Вопрос, как ведут себя следующие тесты на C++? assert(&obj == bp1); ...
15 Сен 2023 в 10:20