Почему я получаю сегментацию, когда я использую структурный указатель для замены значений вместо обычного целого числа? - PullRequest
0 голосов
/ 05 декабря 2018

Проблема в моем обмене, но я не уверен, как я получаю доступ к местоположению, которое не существует, если я делаю переменную temp как обычное целое число, программа работает нормально, но я хочу сделать это, используя временный указатель структуры, а нелюбое целое число.

void sort()
{

node *i;
node *j;
node *t = head;/*if I declare t as integer type it works but i want to 
know why exactly it is giving me a segmentation fault*/

for(i = head; i->next != NULL;i = i->next)
{
    for(j = i->next ; j!= NULL ; j = j->next)
        {   
            if(i->data>j->data)
            {   printf("before swap---->%d %d\n",i->data,j->data );
            t->data= i->data;
            i->data = j->data;
            j->data = t->data;
            printf("after swap --->%d %d\n",i->data,j->data );
        }
    }
}   
} 
...