Skip to content

Commit 992ffa3

Browse files
pointers in array
1 parent 9771e38 commit 992ffa3

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

pointers/2d_array.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#include <stdio.h>
2+
3+
int main() {
4+
int a[3][3] = {0,1,2,3,4,5,6,7,8};
5+
6+
// we take an integer's size as 4 bytes
7+
8+
printf("a = %d \n", a); // a = -11360
9+
printf("*a = %d\n", *a); // *a = -11360
10+
printf("**a = %d\n\n", **a); // **a = 0
11+
12+
printf("a + 1 = %d\n", a + 1); // a + 1 = -11348
13+
printf("*a + 1 = %d *(a + 1) = %d\n", *a + 1, *(a + 1)); // *a + 1 = -11356 *(a + 1) = -11348
14+
printf("**a + 1 = %d *(*a + 1) = %d *(*(a + 1)) = %d\n\n", **a + 1, *(*a + 1), *(*(a + 1))); // **a + 1 = 1 *(*a + 1) = 1 *(*(a + 1)) = 3
15+
16+
}

pointers/array_pointer.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#include <stdio.h>
2+
3+
int main() {
4+
int a[] = {1,20,30,40,50};
5+
int n = 5;
6+
7+
printf("%d\n[%d] = %d\n\n", a, a, *a);
8+
9+
scanf("%d", &a[0]); // 10
10+
11+
printf("\n%d %d\n\n", *a+1, *(a+1)); // 11 20
12+
13+
for(int i = 0; i < n; i++)
14+
scanf("%d", a + i); // 1 2 3 4 5
15+
16+
for(int i = 0; i < n; i++)
17+
printf("%d ", *a + i); // 1 2 3 4 5
18+
}

pointers/char_array.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#include <stdio.h>
2+
3+
int main() {
4+
char a[3][5] = {"abc", "abcde", "abc"};
5+
6+
printf("a = %d *a = %s **a = %c\n", a, *a, **a);
7+
8+
printf("a + 1 = %s *a + 1 = %s *(a + 1) = %s\n", a + 1, *a + 1, *(a + 1));
9+
}

0 commit comments

Comments
 (0)