• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Struktury w C

VPS Starter Arubacloud
0 głosów
350 wizyt
pytanie zadane 10 stycznia 2021 w C i C++ przez forvev Początkujący (390 p.)

Cześć wszystkim, 
Mam pytanie co do 34 linijki, wytłumaczyłby mi ktoś jak rozwiązać to ostrzeżenie? 
warning: assignment to 'int' from 'struct happy_number *' makes integer from pointer without a cast

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

struct happy_number{
    char name[11];
    char surname[11];
    int numberlet;
}*students;

struct happy_number load(int n, int *max);

int main(){
    int n, max=0;
    printf("How many students do you want to designate? ");
    scanf("%d", &n);

    students = (struct happy_number*)calloc(n, sizeof(struct happy_number));

    *students = load(n, &max);
    return 0;
}
struct happy_number load(int n, int *max){


    srand(time(NULL));
    for(int i=0; i<n; i++){
        fflush(stdin);
        printf("Enter a name: "); gets((students+i)->name);
        printf("Enter a surname: "); gets((students+i)->surname);
        (students+i)->numberlet = rand()%20;
        printf("His/Her number: %d", (students+i)->numberlet);
    }
    *max = students+0;
    /*for(int i=0; i<n; i++){
        if (*max <( students+i)); *max = students+i;
    }*/
    return *students;
};

 

komentarz 11 stycznia 2021 przez tkz Nałogowiec (42,000 p.)
Jak sobie wyobrażasz rzutowanie struktury na jednego inta?
komentarz 11 stycznia 2021 przez Wiciorny Ekspert (269,120 p.)
Przyszło mi na myśl, nie wiem czy w C jest coś takiego ( w sensie sposób rozwiązania ), strukturę zamienić na strumień bajtowy, a to na inta- ale generalnie sensu bym tu nie widział bo to raczej byłaby operacja nieodwracalna
komentarz 11 stycznia 2021 przez tkz Nałogowiec (42,000 p.)
Nie jest to możliwe w C, nawet z tak prostego powodu jak padding struktury.
komentarz 11 stycznia 2021 przez tangarr Mędrzec (154,780 p.)
Za co ma odpowiadać zmienna max?
komentarz 11 stycznia 2021 przez forvev Początkujący (390 p.)
Zmienna max odpowiada za największą wylosowaną wartość z linijki 31
komentarz 11 stycznia 2021 przez tangarr Mędrzec (154,780 p.)
Widzę, że idziemy w jakimś kierunku. Odpowiedz na jeszcze kilka pytań a zrozumiesz w czym jest problem.

1. Do jakiej zmiennej przypisujesz wylosowaną wartość?
2. Co powinno się znaleźć w zmiennej max?
komentarz 11 stycznia 2021 przez forvev Początkujący (390 p.)
1. Przypisuję ją do struktury, gdzie ta losowa jest jako int.
2. Podejrzewam, że chodzi o jakieś rzutowanie, gdyż chyba nie jest poprawne to, że do int przypisuje strukturę... ale właśnie jakie te rzutowanie.
komentarz 11 stycznia 2021 przez tangarr Mędrzec (154,780 p.)
Czy rozumiesz czym jest struktura a czym są pola struktury?

Podaj dokładną nazwę zmiennej do której przypisujesz wylosowaną wartość.

Skoro ta zmienna (pole struktury) przechowuje wylosowaną wartość to dlaczego nie przypisujesz tej zmiennej do zmiennej max?
komentarz 11 stycznia 2021 przez forvev Początkujący (390 p.)
Ok, ok. Już wszystko rozumiem. Dzięki wielkie za uporządkowanie tego w głowie dzięki nazwie pola struktury(niby proste, ale nie widziałem tego wcześniej w materiałach z wykładów).

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 256 wizyt
pytanie zadane 8 czerwca 2023 w C i C++ przez whiteman808 Obywatel (1,780 p.)
0 głosów
1 odpowiedź 420 wizyt
pytanie zadane 24 stycznia 2023 w C i C++ przez k0n6710r Nowicjusz (160 p.)
0 głosów
1 odpowiedź 197 wizyt
pytanie zadane 30 sierpnia 2022 w C i C++ przez benny13 Obywatel (1,150 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...