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

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

Когда я изменяю два значения переменной структуры, я получаю неожиданный результат. Но если я изменю эти переменные одну за другой, я не получу неожиданного результата. Почему это случилось? Вот коды и выходы. Неожиданный результат void check_tag_names(struct tag t){ struct tag *tagPtr; tagPtr = ....
12 Май 2021 в 00:38
У меня есть библиотека связанного списка, которую я иногда использую в MacOS, и я просто пробовал использовать ее в Linux, и у меня возникают всевозможные проблемы. Я разбил его на гораздо более простую версию, чтобы разобраться с проблемами. Мне удалось найти проблемы с gdb, я просто не знаю, поч....
11 Май 2021 в 23:05
Я пытался реализовать небольшую симуляцию, чтобы понять распределение памяти malloc (). Я создал общую библиотеку под названием mem.c. Я связываю библиотеку с основной, но не могу передать правильный адрес смоделированной «кучи». Куча создается вызовом malloc () в общей библиотеке. Адрес в общей ....
11 Май 2021 в 22:55
Это моя структура Book, а вот мой код: typedef struct book { char title[100]; char author[20]; int price; } BOOK; #define MAX_SIZE 10 int comparePrice(const void *bookA, const void *bookB); int count = 0; int main() { BOOK *books[MAX_SIZE]; // here is array of struct pointer....
11 Май 2021 в 20:24
Я борюсь с концепцией указателей C, а именно с массивом указателей. См. Нижеприведенную программу для справки. #include <stdio.h> int a1[] = {6,7,8,18,34,67}; int a2[] = {23,56,28,29}; int a3[] = {-12,27,-31}; int *x[] = {a1,a2,a3}; void print (int *a[]){ printf ("%d",a[0][2]); printf ("%d",....
10 Май 2021 в 08:28
Я новичок в C, и я пытался запрограммировать динамический массив int, который получает свои значения через терминал. Я заставил его работать, но он работает только для нескольких номеров, прежде чем я получаю следующую ошибку: realloc(): invalid next size Aborted. Я хотел бы знать, почему это Вот....
10 Май 2021 в 00:06
Я здесь новичок и изучаю темы динамической памяти и связанного списка. И вот проблема, с которой я столкнулся. void deletenode(Node*& head){ Node* temp = new Node; temp = head; // I would like to create a new pointer to store the value of head node. head=head->next; // and here I want to change the....
Сначала определите две функции. Затем назначьте адрес, представленный именем функции, двум обычным указателям. Наконец, скопируйте значение, на которое указывает один указатель, в память, на которую указывает другой указатель. Вывести один и тот же результат, вызывая разные функции? Как я могу э....
9 Май 2021 в 16:46
У меня такой код: #include <iostream> class Entity { public: int x; int y; Entity() { std::cout << "Default contructor: " << this << std::endl; } Entity(int x, int y) { this->x = x; this->y = y; std::cout << "Constructor with parameter: " << t....
8 Май 2021 в 21:00
У меня есть класс связанного списка следующим образом: class ListNode { public int val; public ListNode next; ListNode(int x) { val = x; next = null; } } Теперь в методе с подписью public ListNode getIntersectionNode(ListNode h1, ListNode h2) У меня есть заявление вроде: ListNode t1=....
8 Май 2021 в 16:53
Мне нужна помощь в этой ситуации Я хочу с помощью метода ReadFile() с fscanf напрямую записывать значения из файла в моем массиве table[] в основном. Кто-нибудь может помочь? int main() { float table[] = {1.0, 2.0, 4.0, 8.0, 10.0}; ReadFile(&table); printf(/*...print table at this point...*/) ....
8 Май 2021 в 15:39
У меня есть этот код, чтобы познакомиться с C: char txt[] = "Thanksfor4lltheFish"; char *ptr = &txt[2]; printf("%c\n", ++*ptr++); Я ожидал увеличить указатель на 2 и вывести «k», но я получил «b», которого нет даже в этой строке. Почему?....
После удаления ptr печатает ли cout << ptr адрес int(6)? Если да, то почему это искажено? Я помню, что delete освобождает данные только в указанном пространстве, не так ли? И я хотел бы спросить, когда delete выпускает здесь космические данные, только для выпуска 6 или даже типа int? int* ptr = new....
8 Май 2021 в 12:10
#include <iostream> #include <stdio.h> #include <float.h> using namespace std; template<class T> void getMinMax(T tab[], int nbPers, float *min, float *max){ *min = FLT_MAX; *max = 0; for (int i = 0; i < nbPers; i++){ if (tab[i] < *min){ *min = tab[i]; ....
8 Май 2021 в 04:47
Я читал книгу о C / C ++ и изучаю связанные списки. Я реализую LL как: struct Node { int information; // the information of one node. assumed is that this is an integer only struct Node * next; // pointer which stores the address of next node in the list. points to next node in the list. } ....
7 Май 2021 в 17:30
Что на самом деле означает «преобразование между указателями»? Если у меня есть что-то вроде type_1* x, type_2* y и я вызываю dynamic_cast<type_1*>(y) (вопрос не в динамическом преобразовании, я использовал его, потому что это функция, которая, насколько мне известно, хорошо работает с преобразован....
7 Май 2021 в 14:08
У меня есть такой тип: #pragma once #include <stdio.h> #include <string> struct Color { std::string value; }; struct Shirt { std::string brand; Color color; }; class Outfit { public: Outfit(Shirt shirt): shirt(shirt) {} private: Shirt shirt; }; Ранее я просматривал ....
7 Май 2021 в 04:12
У меня небольшая проблема, которую я не знаю, как исправить. Я пытаюсь отправить std::vector<float*> на GPU, и для этого мне нужно вернуть элементы из массива как значения, а не указатели. Этот float - вектор-указатель только для тестирования хранит 2 квадрата с 4 вершинами в каждом, всего 8 элемен....
7 Май 2021 в 02:53
У меня есть вопрос, в котором я должен написать функцию под названием «createList», которая получает связанный список (без фиктивного элемента) целых чисел. Функция должна удалить каждый элемент, который больше предыдущего и следующего. Кроме того, мне нужно создать новый связанный список (без фик....
Libtestm.dll код #pragma once #define EXPORT extern "C" __declspec(dllexport) #include <iostream> #include <vector> class TestValue { public: std::vector<int> v; TestValue() { for (size_t i = 0; i < 10; i++) { v.push_back(i); } } ~TestValue() ....
6 Май 2021 в 17:59
Предположим, я хочу написать функцию, которая принимает массив в качестве аргумента и возвращает указатель на этот массив. Я мог бы написать это так; int *foo(int var[]) { return var; } Теперь предположим, что я вызываю эту функцию в другом месте кода; int a[] = {1, 2, 3}; int *pa = foo(a); К....
6 Май 2021 в 17:21
class Record{ int data; Record(this.data); } class BigRecord{ Record record; BigRecord(this.record); } void main(){ BigRecord big1 = BigRecord(Record(20)); BigRecord big = BigRecord(Record(23)); big1 = big; big.record.data=22; print(big1.record.data); //22 } Как я могу скопиров....
6 Май 2021 в 15:15
Я создаю абстрактный тип данных. Код выглядит следующим образом #include <iostream> using namespace std; template <class T> class cArray { int size; T* p; public: cArray(int size) { this -> size = size; T* p = new T[size]; } void setval(void) { ....
6 Май 2021 в 14:47
Цикл по простому массиву не проблема, но как правильно пройти по многомерному массиву с помощью указателей? #include <iostream> int main(int argc, char* argv[]) { int data1[9] = { 1, 2, 3, 4, 5, 6, 7, 8, 9}; for(auto *p = data1; p!=data1+9; ++p) { std::cout << (*p) << ' '; ....
6 Май 2021 в 08:11
Немного сложно понять этот код: #include<iostream> using namespace std; class Test { private: int x; int y; public: Test(int x = 0, int y = 0) { this->x = x; this->y = y; } Test &setX(int a) { x = a; return *this; } Test &setY(int b) { y = b; return *this; } ....
6 Май 2021 в 06:21