Merge pull request #1 from kdeng00/ch05

Pointer arithmetic example
This commit was merged in pull request #1.
This commit is contained in:
Kun Deng
2021-11-16 01:18:22 +00:00
committed by GitHub
+69
View File
@@ -0,0 +1,69 @@
/*
*
* Demonstration of pointer arithmetic
*
* Author: Kun Deng
*/
#include <stdio.h>
#define ARRAY_SIZE 10
void populate_array(int some_array[])
{
for (int i = 0; i < ARRAY_SIZE; ++i)
{
some_array[i] = 100 - (i * 1.5);
}
}
void print_array(int some_array[])
{
for (int i = 0; i < ARRAY_SIZE; ++i)
{
const int value = some_array[i];
if (i == 0)
{
printf("%d", value);
}
else
{
printf(" %d", value);
}
}
printf("\n");
}
// 1 if true and 0 if not
int pointer_precedes(int *a, int *b)
{
return a < b;
}
int main()
{
printf("pointer_arithmetic\n");
int some_array[ARRAY_SIZE];
populate_array(some_array);
print_array(some_array);
const int a_index = 1;
const int b_index = 2;
int *a = &some_array[a_index];
int *b = &some_array[b_index];
printf("a is th %d position with value %d\n", a_index, *a);
printf("b is th %d position with value %d\n", b_index, *b);
const int result = pointer_precedes(a, b);
printf("Result: %d\n", result);
return 0;
}