C: свопинг указателей в массиве

У меня есть массив, который содержит указатели. Как я могу подкачать два указателя - говорит массив [1] и выстраивает [4] - правильно?

5
задан Pieter 19 January 2010 в 14:04
поделиться

5 ответов

Вам нужна временная переменная:

void*temp = array[4];
array[4]=array[1];
array[1] = temp;

Редактировать фиксированную первую строку.

5
ответ дан 18 December 2019 в 13:14
поделиться
void* temp = array[1]; 
array[1] = array[4]; 
array[4] = temp;
5
ответ дан 18 December 2019 в 13:14
поделиться
void* temp = array[1]; 
array[1] = array[4]; 
array[4] = temp;
3
ответ дан 18 December 2019 в 13:14
поделиться
void* temp = array[1]; 
array[1] = array[4]; 
array[4] = temp;
-121--4667787-

Мой C довольно ржавый, но достаточно простого

int* foo = array[4];
array[4] = array[1];
array[1] = foo;

.

0
ответ дан 18 December 2019 в 13:14
поделиться
#include <stdint.h>
if (1 != 4) {
    array[1] = (void*)((intptr_t)(array[1]) ^ (intptr_t)(array[4]));
    array[4] = (void*)((intptr_t)(array[1]) ^ (intptr_t)(array[4]));
    array[1] = (void*)((intptr_t)(array[1]) ^ (intptr_t)(array[4]));
}

гораздо яснее и сохраняет временный характер. ; -)

1
ответ дан 18 December 2019 в 13:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: