Untitled

 avatar
unknown
c_cpp
10 months ago
1.1 kB
2
Indexable
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct
{
    char name[ 20 ];
    int age;
} Person;

Person* createPerson( const char* name, int age )
{
    Person* newPerson = ( Person* )malloc( sizeof( Person ) );

    if( newPerson == NULL )
    {
        fprintf( stderr, "Nie mozna przydzielic pamieci\n" );
        exit( 1 );
    }

    strncpy( newPerson->name, name, 19 );
    newPerson->name[ 19 ] = '\0';
    newPerson->age = age;

    return newPerson;
}

void changeName( Person* person, const char* newName )
{
    strncpy( person->name, newName, 19 );
    person->name[ 19 ] = '\0';
}

void changeAge( Person* person, int newAge )
{
    person->age = newAge;
}

void displayPerson( const Person* person )
{
    printf( "Name: %s, Age: %d\n", person->name, person->age );
}

int main()
{
    Person* person1 = createPerson( "Alice", 30 );
    displayPerson( person1 );

    changeAge( person1, 35 );
    displayPerson( person1 );

    changeName( person1, "Bob" );
    displayPerson( person1 );

    free( person1 );

    return 0;
}
Editor is loading...
Leave a Comment