Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
in code we trust
 Аватар для __py__
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885

Void аргументация в функциях и указатели

15.09.2018, 15:04. Показов 1172. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
интернета не было 2 дня, решил изучать изучать СИ.
начал изучать на уже настроенной IDE (до этого)по книге "Heard first C",
но по такому коду у меня 2 ошибки при компиляции:
C
1
2
3
4
5
6
7
#include <stdio.h>
void skip(char *msg)
{
    puts(msg + 6);
}
char *message_from_amy = "don't call me";
skip(message_from_amy);
в гугле что-то не могу найти решение, да и в ответе в самой книге точно такой же код, как рабочий указан.
Миниатюры
Void аргументация в функциях и указатели  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.09.2018, 15:04
Ответы с готовыми решениями:

Указатели на функции. Указатели на функции как формальные параметры у функциях высшего уровня
Найти наименьшее значение для функций используя функции и указатели на функции ...

Указатели в функциях
Есть отрывок из книги: &quot;Однако указатель перестает существовать, когда выполнение программы покидаетблок, содержащий его объявление&quot; ...

Указатели в функциях
Проблема с указателями в классе дерево. Есть такой вот класс: template &lt;class T&gt; class tree_elem { public: T value; ...

11
165 / 114 / 59
Регистрация: 12.07.2018
Сообщений: 277
15.09.2018, 15:36
Лучший ответ Сообщение было отмечено __py__ как решение

Решение

__py__, в программе отсутствует main:

C++
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
void skip(char *msg)
{
    puts(msg + 6);
}
char *message_from_amy = "don't call me";
void main()
{
skip(message_from_amy);
}
0
in code we trust
 Аватар для __py__
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
15.09.2018, 16:01  [ТС]
Cпасибо! Буду дальше изучать! Интересный и понятный язык.
0
650 / 403 / 76
Регистрация: 21.09.2008
Сообщений: 1,396
16.09.2018, 00:12
__py__, пока Вы не столкнётесь с указателями...
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
16.09.2018, 09:59
sharpey, а что сложного в указателях? Просто всегда ими пугают.
Складывается ощущение, что это такая неведомая страшнейшая хреновина,
которая спать не дает, варит программистов в своих котлах.

Они могут быть сложны для понимания на первых этапах, а потом это не более чем переменная.
Ничего слишком сложного в них нет. Просто нужно чуть потренироваться.
2
165 / 114 / 59
Регистрация: 12.07.2018
Сообщений: 277
16.09.2018, 10:33
Цитата Сообщение от sharpey Посмотреть сообщение
__py__, пока Вы не столкнётесь с указателями...
В приведённом ТС коде уже есть указатели
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
16.09.2018, 10:42
Бард, это си-строки, а не указатели.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12935 / 6802 / 1821
Регистрация: 18.10.2014
Сообщений: 17,215
17.09.2018, 05:15
Цитата Сообщение от Бард Посмотреть сообщение
__py__, в программе отсутствует main:
Только не void main(), а int main(void).
2
in code we trust
 Аватар для __py__
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
17.09.2018, 09:41  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Только не void main(), а int main(void)
работает в обоих случаях, а в чём отличие? В красоте и читаемости?
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
17.09.2018, 09:45
__py__, void main непереносим. Стандарт определяет два вида main:
C
1
2
int main(void)
int main(int, char **)
всё остальное implementation-defined.
2
650 / 403 / 76
Регистрация: 21.09.2008
Сообщений: 1,396
18.09.2018, 19:21
Croessmah, может быть я не совсем точно выразился. Страшного в указателях Си нет, просто изучая Си после ассемблера и Паскаля (в т.ч. Объектного Паскаля от Borland), указатели в Си для меня были неочевидны. Например, указывая в качестве аргумента имя массива, фактически передаётся его адрес. Например,
C
1
2
3
4
5
6
7
8
9
10
11
#include <string.h>
#include <stdio.h>
 
int main (int argc, char *argv[])
{ 
  char src[10] = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 0};
  char dst[10] = {0};
 
  strncpy(dst, src, 10);
  return 0;
}
Хотя для понимания конструкция
C
1
strncpy(&dst[0], &src[0], 10);
более наглядна. IMHO, конечно.
Но всё это меркнет, когда объявляется массив указателей на функции и нужно ими оперировать.
0
19.09.2018, 14:43

Не по теме:

sharpey, ну после паскаля-то еще понятно.. Но после асма вообще бояться нечего кроме бубонной чумы имхо

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.09.2018, 14:43
Помогаю со студенческими работами здесь

Использовать указатели в функциях
Решить задачу, используя функции пользователя. Для продвижения по массиву использовать в программе арифметику указателей, а также...

Указатели в функциях-членах
#include &lt;stdafx.h&gt; #include &lt;conio.h&gt; using namespace std; class Point{ public: int x,y; Point(){ } Point(int new_x,...

Почему нельзя в функциях использовать типизированные указатели ?
Почему нельзя в функциях использовать типизированные указатели ? Напр почему так нельзя ? {$R *.dfm} function (p:^integer):integer;

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

Указатели на функцию. Задача 2: функция предикат с void указателем
Сумму элементов массива, лежащих в пределах (a &lt;b)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru