Tagged: указатели

14
Авг
2021

Приведение целого к указателю в си

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

08
Июл
2021

Дополнительно выделить память для динамического массива C

Столкнулся со следующей проблемой: есть строка, которая хранится в динамическом массиве определённого размера, и мне нужно определённое количество раз увеличить объём памяти под массив ровно на один дополнительный элемент. Могу ли я каким-…

04
Июл
2021

Поиск символа в массиве

Дан массив, в который считываются символы с клавиатуры или файла. Есть функция отвечающая за поиск символа в массиве. Так вот знаю, что ошибки в трёх строчках в коде, но не могу понять, как исправить. Помогите, пожалуйста. Строчки пометил …

09
Май
2021

C++ / GameHacking. Не понятна работа приведения указателя

Указатель – это адрес в памяти, по которому располагается его значение, которое в свою очередь представляет собой другой адрес в памяти.
Я не понимаю одного момента.
1.
Допустим есть какой-то адрес в статическом сегменте памяти, который хр…

05
Май
2021

Задание из книги по теме "Указатели" на С(Си)

Задание из книги K&R звучит следующим образом:

Напишите функцию strend(s, t), которая выдает 1, если строка t расположена в конце строки s, и нуль в противном случае.

Вот мой вариант решения:
int strend(char *begin, char *end)
{

29
Апр
2021

ошибка С4703-используется потенциально неинициализированная локальная переменная-указатель "q"

Дан фрагмент кода:
int A[5]={1,3,-5,4,2}, n=5,*p,*q,a=0,b=0,c=0;
for(p=A+n-1;p>=A;p–)
if(p>A+1 && p<A+3)
q=p;
a=*q; b=*(q-1);

задача такая:
Вычислить значения всех переменных в заданном фрагменте …

19
Апр
2021

Вызывает исключение в строке с strcpy. Очереди/Си

Задание: создать очередь клиент банка с помощью структуры и написать банальные функции(вствки, удаления, сортировки и т.д.) В 94 строке выдает исключение.
Помогииите, плиз.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include…

18
Апр
2021

Указатели в языке Си

Написать программу, которая копировала бы строку введѐнную пользователем с
клавиатуры в новую (максимальная длина строки – 20 символов). При этом в
процессе копирования должны отбрасываться все незначащие пробелы в начале и
конце строки, а…

12
Апр
2021

Язык Си, при передачи массива в функцию теряются 3 байта

Передаю массив в функцию таким образом не потому что мне так нравится, так требуется в задании.
В функции массив становится меньше на 3 байта, подскажите в чем причина
#include <stdio.h>

char* foo(char* in)
{
printf("%i\n&…

08
Апр
2021

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

Всем привет, мне нужно передать shared_ptr в функцию get которая принимает константный указатель на структуру, вот пример, скажите я правильно делаю? И если да, объясните пожалуйста вот это &(*_info), что именно я разыменовываю? shared…

07
Апр
2021

Как используется и выглядит в коде Си ссылка на указатель?

Прочитал про ссылки и указатели в С++
Как выглядят ссылки, ссылки на указатели, и как они применяются в Си? Например, у Кернигана укзателю можно присвоить массив, а массиву указатель – нельзя.

10
Мар
2021

Выделение памяти для элемента структуры внутри функции

Есть простая структура :
typedef struct
{
char* name;
char* surname;
} data;

Внутри функции main я объявляю указатель на эту структуру и передаю один из параметров в функцию :
data* var = (data*)malloc(sizeof(data)); // Указатель …

26
Фев
2021

Изменения размерности динамического массива через функцию(принцип работы realloc())

По условию, пользователь имеет возможность изменить размер динамического массива. Код для выполнения этой операции должен реализовываться через функцию. Соответственно, при передаче массива в функцию (указателя), мы изменяем его размерност…

25
Фев
2021

почему при увеличении адреса на 11 массива с записью "a" он увеличивается на 44??? вместо положенных 11 как при записи "a[0]" и "a[0][0]"?

Недавно начал учить Си, в коде урока было следующее
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int a[3][4] = { {1, 2, 3, 4} , {5, 6, 7, 8}, {9, 10, 11, 12}};
int n = sizeof(a)/sizeof(a[0]); // число строк

24
Фев
2021

Функция, которая разбивает строку на подстроку используя разделитель. (Помогите разобраться с задачей на Си)

#include <stdio.h>
#include <stdlib.h>

#include "test.h"

/**
* Разбивает строку str на подстроки используя разделитель delim.
*
* Пример: строка "hello world! Nya" разбивается на ["hello", &qu…

18
Фев
2021

Обмен местами элементов линейного списка С

Задача заключается в том, чтобы поменять первый и последний элементы списка местами. Не могу понять, почему первый элемент переносится в конец списка, а последний в начало не переносится.
На тесте "1 2 3 4 5" программа выводит &q…

08
Фев
2021

Почему операция присваивания меняет присваиваемое значение?

Вот что происходит. Функция stringLoad Принимает строку из потоков ввода (используется malloc для хранения) и делит ее на части, возвращая массив новых строк.
Тут начинается проблема, когда я присваиваю указатель первой такой строки в пере…

25
Янв
2021

Нужны наводки по корректировке работы функции в коде

Условие самой задачи:
в main ввести массив целых чисел (количество – с клавиатуры), в функции вернуть количество и сумму членов массива, которые не превышают среднее арифметическое членов массива.
Проблема в том, что функция ничего не возв…

22
Янв
2021

Создания таблицы переходов на языки си

Есть набор функций примерно 100 шт. Каждая функция имеет свою мнемонику. Грубо говоря функция void ADD(void) имеет мнемонику 0x00, void cos(void) — 0x10, и так далее.
Цель всея деяния, создание переходов между исполняемым файлом в котором …

19
Янв
2021

Условие программы: удалить все нули в одномерном массиве (тема: массивы и указатели)

На массив нужно динамически выделить и перевыделить память, к элементам массива нужно обращаться через указатели. Проблема с реаллоком – работает коряво. Помогите разобраться, как мне уменьшить (или увеличить, например, если по условию нуж…

08
Янв
2021

сумму элементов каждой из строк массива

Со стандартного устройства ввода в первой строке вводятся 2 целых числа M и N –
соответственно количество строк и столбцов двумерного массива: 1<=M<=100,
1<=N<=100. В следующих M строках вводятся ровно по N элементов – значения…

07
Янв
2021

Нужно реализовать библиотеку функций для построителя строк

Нужно реализовать библиотеку функций для построителя строк, позволяющую «собирать строку» по частям (в динамической памяти, из других строк и символов, соединяя их последовательно). Компилятор выдает ошибку(в функции char*gluestr невозможн…

05
Янв
2021

Си. Алгебраическая проблема

Даны числа d — степень полинома, массив K—коэффициенты полинома P(x) и число а.
Требуется найти и вывести коэффициенты произведения полинома P(x) на (x–a).
Input
Со стандартного устройства ввода в первой строке вводится целое число
d (1 &l…

28
Дек
2020

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

В заданной строке нужно найти и вывести:

сумму встречающихся цифр;
количество слов в строке;
самое длинное слово;
все положительные числа.

В моём далеко неполном коде я написал в main циклы для суммы цифр и количества строк, а также поис…