2015-12-03 11 views
0

Я пытаюсь передать указатель на системный вызов, передав сообщение с этим вызовом.C Системные вызовы и сообщения

Указатель должен иметь значение int [].

Однако определение сообщения предполагает передачу указателя char. Как я могу отправить указатель int?

int pidarray[j]; 
m.m1_p1 = pidarray; 

Можно ли преобразовать типы указателей?

+0

Вы думаете о [Системные вызовы (2)] (http://man7.org/linux/man-pages/man2/syscalls.2.html) или из [системы (3)] (http://man7.org/linux/man-pages/man3/system.3.html) при упоминании «Системные вызовы C»? Измените свой вопрос, чтобы улучшить его. Возможно, пометьте его более точно (с Linux, POSIX, ...) –

ответ

1

Is it possible to convert the pointer types?

Да, это возможно. например:

(char*) intPointer 
+1

Не должно быть '(char *)'? И не будет ли такой литой возвращать одиночные байты из каждого 'int' вместо того, чтобы кастовать каждый' int' в 'char'? – Downvoter

+0

Спасибо! Как это будет работать с точки зрения передачи его в сообщении? Преобразую ли я его в char *? Тогда я мог бы передать это как int *? – calmcalmuncle

+0

@cad Я привел пример. И да, данные будут напрямую преобразованы в символы вместо int. –

Смежные вопросы