Add exercises for pointers and const.
This commit is contained in:
1 parent
1b8fecaad0
commit
273f622601
5 files changed
+256
No files matched your search
@@ -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;
|
||||
}
|
||||
Reference in new issue
Block a user