Initial commit

This commit is contained in:
2021-10-01 20:24:05 +02:00
commit 860c025165
194 changed files with 4846 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
#include <stdio.h>
#define SIZE 11
int main(void)
{
int i;
char namn[SIZE] = "Jack-Benny";
printf("Adressen till 'namn': %p\n", (void*)&namn);
for (i=0; i<SIZE; i++)
{
printf("Element %i -> %p\n", i, (void*)&namn[i]);
}
return 0;
}

View File

@@ -0,0 +1,18 @@
#include <stdio.h>
#define LANGD 5
int main(void)
{
int i;
int x[LANGD] = {0, 1, 2, 3, 4};
int *px;
px = x;
for (i = 0; i<LANGD; i++)
{
printf("%d: %p\n", *px, (void*)px);
px = px + 1;
}
return 0;
}

View File

@@ -0,0 +1,25 @@
#include <stdio.h>
int main(void)
{
int i;
char fnamn[] = "Jack-Benny";
char *enamn = "Persson";
printf("Förnamn: %s\n", fnamn);
printf("Efternamn: %s\n\n", enamn);
printf("Förnamn: %p %p\n", (void*)&fnamn, (void*)fnamn);
printf("Efternamn: %p %p\n", (void*)&enamn, (void*)enamn);
/* Skriv ut ett tecken i taget med mellanslag mellan varje
tecken. Detta görs genom att addera 1 till pekarvariabeln
för varje iteration */
for (i=0; i<=7; i++)
{
printf("%c ", *enamn);
enamn = enamn + 1;
}
printf("\n");
return 0;
}

9
kapitel10/pekare-ex1.c Normal file
View File

@@ -0,0 +1,9 @@
#include <stdio.h>
int main(void)
{
float pi = 3.14159;
printf("Adressen till 'pi' är: %lu\n", &pi);
return 0;
}

9
kapitel10/pekare-ex2.c Normal file
View File

@@ -0,0 +1,9 @@
#include <stdio.h>
int main(void)
{
float pi = 3.14159;
printf("Adressen till 'pi' är: %p\n", (void*)&pi);
return 0;
}

View File

@@ -0,0 +1,10 @@
#include <stdio.h>
#define SIZE 11
int main(void)
{
char namn[SIZE] = "Jack-Benny";
printf("Adressen till 'namn': %p\n", (void*)&namn);
return 0;
}

View File

@@ -0,0 +1,15 @@
#include <stdio.h>
int main(void)
{
int x = 5;
int *px;
int **ppx;
px = &x;
ppx = &px;
printf("%d\n", **ppx);
return 0;
}

View File

@@ -0,0 +1,36 @@
#include <stdio.h>
#define LANGD 3
int main(void)
{
int i;
char *ord[LANGD];
char *pc;
char **ppc;
ord[0] = "hund";
ord[1] = "katt";
ord[2] = "kanin";
/* Skriv ut de tre strängarna */
for (i = 0; i < LANGD; i++)
{
printf("%s\n", ord[i]);
}
printf("\n");
/* Skriv ut tecken för tecken */
for (i = 0; i < LANGD; i++)
{
ppc = ord + i;
pc = *ppc;
while (*pc != '\0')
{
printf("%c ", *pc);
pc = pc + 1;
}
printf("\n");
}
return 0;
}

22
kapitel10/pekarvar-ex1.c Normal file
View File

@@ -0,0 +1,22 @@
#include <stdio.h>
int main(void)
{
/* Skapa vanliga variabler & fält */
float pi = 3.14159;
/* Deklarera pekarna */
float *ppi;
/* Sätt pekaren till adressen av variabeln */
ppi = &pi;
/* Skriv ut det som pekaren pekar på och dess innehåll */
printf("Adressen till 'pi': %p\n", (void*)&pi);
printf("'pi' innehåller: %.5f\n\n", pi);
printf("Adressen till 'ppi': %p\n", (void*)&ppi);
printf("'ppi' pekar på värdet: %.5f\n", *ppi);
printf("'ppi' innehåller: %p\n", (void*)ppi);
return 0;
}

15
kapitel10/pekarvar-ex2.c Normal file
View File

@@ -0,0 +1,15 @@
#include <stdio.h>
int main(void)
{
char fnamn[] = "Jack-Benny";
char *enamn = "Persson";
printf("Förnamn: %s\n", fnamn);
printf("Efternamn: %s\n\n", enamn);
printf("Förnamn: %p %p\n", (void*)&fnamn, (void*)fnamn);
printf("Efternamn: %p %p\n", (void*)&enamn, (void*)enamn);
return 0;
}

23
kapitel10/pekarvar.c Normal file
View File

@@ -0,0 +1,23 @@
#include <stdio.h>
#define SIZE 11
int main(void)
{
/* Skapa vanliga variabler & fält */
float pi = 3.14159;
char namn[SIZE] = "Jack-Benny";
/* Deklarera pekarna */
float *ppi;
char *pnamn;
/* Sätt pekarna till adressen av variablerna */
ppi = &pi;
pnamn = &namn[5];
/* Skriv ut det som pekarna pekar på */
printf("Pi = %.5f\n", *ppi);
printf("Namn = %s\n", pnamn);
return 0;
}