Add exercises for pointers and const.

This commit is contained in:
paulusja committed 2026-11-12 07:55:35 +01:00
1 parent 1b8fecaad0
commit 273f622601
5 files changed
+256

No files matched your search

+60
View File
@@ -0,0 +1,60 @@
/*
* Was gibt folgendes Programm aus? Erst überlegen, dann ausführen.
*
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAX_TEXT_LEN 100
typedef struct
{
char text1[MAX_TEXT_LEN];
char *text2;
int number;
} MyStruct;
void modify1(MyStruct arg);
void modify2(MyStruct *arg);
int main()
{
char text[MAX_TEXT_LEN] = "Text 2";
MyStruct someStruct = {"Text 1", text, 15};
printf("someStruct.text1 = %s\n", someStruct.text1);
printf("someStruct.text2 = %s\n", someStruct.text2);
printf("someStruct.number = %d\n", someStruct.number);
modify1(someStruct);
printf("\nNach modify1:\n");
printf("someStruct.text1 = %s\n", someStruct.text1);
printf("someStruct.text2 = %s\n", someStruct.text2);
printf("someStruct.number = %d\n", someStruct.number);
modify2(&someStruct);
printf("\nNach modify2:\n");
printf("someStruct.text1 = %s\n", someStruct.text1);
printf("someStruct.text2 = %s\n", someStruct.text2);
printf("someStruct.number = %d\n", someStruct.number);
return EXIT_SUCCESS;
}
void modify1(MyStruct arg)
{
strcpy(arg.text1, "Neuer Text 1");
strcpy(arg.text2, "Neuer Text 2");
arg.number = 100;
}
void modify2(MyStruct *arg)
{
strcpy(arg->text1, "Wieder neuer Text 1");
strcpy(arg->text2, "Wieder neuer Text 2");
arg->number = 200;
}