SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
Array & Pointers
2
One-Dimensional Arrays
 Array
– A consecutive series of variables that share one name
– 5 consecutive variables of integer type under the name of num
int num[5] ;
num
1000 1004 1008 1012 1016 Memory addresses
3
The Relationship between Arrays and
Pointers
 Example :
– Which address does each element have?
int num[5] ;
num
1000 1004 1008 1012 1016
num[0] num[1] num[2] num[3] num[4]
&num[0] == 1000
&num[1] == 1004
&num[2] == 1008
&num[3] == 1012
&num[4] == 1016
Memory addresses
4
The Relationship between Arrays and
Pointers
 Example : What is num?
– num is the constant pointer of which value is the start address of
the array.
int num[5] ; num
1000 1004 1008 1012 1016
num[0] num[1] num[2] num[3] num[4]
num == &num[0] == 1000
Memory addresses
5
The Relationship between Arrays and
Pointers
 Example : Arithmetic of pointers
– “pointer + 1” does not mean increasing pointer by 1.
– “pointer + 1” is “the address of the next element”.
– “pointer – 1” is “the address of the prior element”.
int num[5] ;
1000 1004 1008 1012 1016
num[0] num[1] num[2] num[3] num[4]
num == &num[0] == 1000
(num+0) == ??
(num+1) == ??
(num+2) == ??
(num+3) == ??
(num+4) == ??
&num[0]
&num[1]
&num[2]
&num[3]
&num[4]
Memory addresses
6
The Relationship between Arrays and
Pointers
 Example : Arithmetic of pointers
int num[5] ; 10 20 30 40 50
1000 1004 1008 1012 1016
num[0] num[1] num[2] num[3] num[4]
int num[5], *p = num ;
*p = 10 ;
*(p+1) = 20 ;
*(p+2) = 30 ;
*(p+3) = 40 ;
*(p+4) = 50 ;
int num[5], *p = num ;
p[0] = 10 ;
p[1] = 20 ;
p[2] = 30 ;
p[3] = 40 ;
p[4] = 50 ;
int num[5] ;
*num = 10 ;
*(num+1) = 20 ;
*(num+2) = 30 ;
*(num+3) = 40 ;
*(num+4) = 50 ;
int num[5] ;
num[0] =10 ;
num[1] = 20 ;
num[2] = 30 ;
num[3] = 40 ;
num[4] = 50 ;
Memory addresses
7
Pointer Arithmetic and Element Size
 Adding an Integer to a Pointer
[Ex]
p = &a[2];
q = p + 3;
p += 6;
0 1 2 3 4 5 6 7 8 9
p
a
0 1 2 3 4 5 6 7 8 9
p
a
0 1 2 3 4 5 6 7 8 9
p
a
q
q
8
Pointer Arithmetic and Element Size
 Subtracting an Integer from a Pointer
[Ex]
p = &a[8];
q = p - 3;
p -= 6;
0 1 2 3 4 5 6 7 8 9
p
a
0 1 2 3 4 5 6 7 8 9
p
a
0 1 2 3 4 5 6 7 8 9
p
a
q
q
9
Pointer Arithmetic and Element Size
 Subtracting Pointers
[Ex]
p = &a[5];
q = &a[1];
i = p – q; /* i == 4 */
i = q – p; /* i == -4 */
0 1 2 3 4 5 6 7 8 9
q
a
p
10
Pointer Arithmetic and Element Size
 Comparing Pointers
– Relational operators (<, <=, >, >=) can be applied
– Equality operators (==, !=) can be applied
[Ex]
p = &a[5];
q = &a[1];
p <= q; /* result is 0 */
p >= q; /* result is 1 */
11
Pointer Arithmetic and Element Size
 Example: Pointer Operation
int a[ ] = { 5,15,25,43,12,1,7,89,32,11}
int *p = &a[1], *q = &a[5] ;
1. *(p + 3) ?
2. *(q - 2) ?
3. q - p ?
4. if ( p > q ) ?
5. if ( *p > *q )?
12
Pointer Arithmetic and Element Size
 Example: Pointer Operation
#include <stdio.h>
int main(void)
{
double a[2], *p, *q;
p = &a[0]; /* points at base of array */
q = p + 1; /* equivalent to q = &a[1]; */
printf(“%dn”, q – p );
printf(“%dn”, (int) q – (int) p );
printf(“%dn”, sizeof(double) );
return 0;
}
Combining the * and ++ Operators
 Combining the * and ++ Operators
– p increased or decreased, then *p performed
– p increased or decreased, then *(p-1) or *(p+1) performed
– Increase or decrease 1 of a variable pointing p
13
*++p  *(++p), *--p  *(--p)
*p++  *(p++), *p--  *(p--)
(*p)++, (*p)--
Combining the * and ++ Operators
 Combining the * and ++ Operators
14
void main()
{
int k, a[10], *p = a ;
while( p < &a[10] )
*p++ = 0 ;
}
void main()
{
int k, a[10], *p = a ;
while( p < &a[10] ) {
*p = 0 ;
p = p + 1 ;
}
}
Combining the * and ++ Operators
 Combining the * and ++ Operators
15
void main()
{
int k, a[10], *p = &a[10] ;
while( p >= &a[0] )
*--p = 0 ;
}
void main()
{
int k, a[10], *p = a ;
while( p >= &a[0] ) {
p = p -1 ;
*p = 0 ;
}
}
Example
 Add inputted integer numbers
16
#include <stdio.h>
int sum( int num[], int size ) {
int k, sum = 0 ;
for( k = 0 ; k < size ; k++ )
sum += num[k] ;
return sum ;
}
void main() {
int a[100], k ;
for( k = 0 ; k < 100 ; k++ )
scanf( “%d”, &a[k] ) ;
printf( “%dn”, sum(a, 100) ) ;
}
#include <stdio.h>
int sum( int num[], int size ) {
int k, sum = 0 ;
for( k = 0 ; k < size ; k++ )
sum += *num++ ;
return sum ;
}
void main() {
int a[100], k ;
for( k = 0 ; k < 100 ; k++ )
scanf( “%d”, &a[k] ) ;
printf( “%dn”, sum(a, 100) ) ;
}
int num[] and int *num
are the same

Más contenido relacionado

La actualidad más candente

Pointers in c
Pointers in cPointers in c
Pointers in c
Mohd Arif
 
structure and union
structure and unionstructure and union
structure and union
student
 
Pointers (Pp Tminimizer)
Pointers (Pp Tminimizer)Pointers (Pp Tminimizer)
Pointers (Pp Tminimizer)
tech4us
 

La actualidad más candente (20)

C Pointers
C PointersC Pointers
C Pointers
 
Pointers in C Programming
Pointers in C ProgrammingPointers in C Programming
Pointers in C Programming
 
This pointer
This pointerThis pointer
This pointer
 
Pointer in c program
Pointer in c programPointer in c program
Pointer in c program
 
Pointers in c
Pointers in cPointers in c
Pointers in c
 
Structure in c language
Structure in c languageStructure in c language
Structure in c language
 
Strings in c
Strings in cStrings in c
Strings in c
 
Character Array and String
Character Array and StringCharacter Array and String
Character Array and String
 
Pointers
PointersPointers
Pointers
 
Pointer in C++
Pointer in C++Pointer in C++
Pointer in C++
 
Strings IN C
Strings IN CStrings IN C
Strings IN C
 
structure and union
structure and unionstructure and union
structure and union
 
Strings
StringsStrings
Strings
 
Array and string
Array and stringArray and string
Array and string
 
Array in c++
Array in c++Array in c++
Array in c++
 
2- Dimensional Arrays
2- Dimensional Arrays2- Dimensional Arrays
2- Dimensional Arrays
 
Pointers in c++ by minal
Pointers in c++ by minalPointers in c++ by minal
Pointers in c++ by minal
 
Array Of Pointers
Array Of PointersArray Of Pointers
Array Of Pointers
 
Strings
StringsStrings
Strings
 
Pointers (Pp Tminimizer)
Pointers (Pp Tminimizer)Pointers (Pp Tminimizer)
Pointers (Pp Tminimizer)
 

Destacado (6)

2CPP06 - Arrays and Pointers
2CPP06 - Arrays and Pointers2CPP06 - Arrays and Pointers
2CPP06 - Arrays and Pointers
 
Arrays and pointers
Arrays and pointersArrays and pointers
Arrays and pointers
 
C pointer
C pointerC pointer
C pointer
 
Unit 6 pointers
Unit 6   pointersUnit 6   pointers
Unit 6 pointers
 
Control Statements, Array, Pointer, Structures
Control Statements, Array, Pointer, StructuresControl Statements, Array, Pointer, Structures
Control Statements, Array, Pointer, Structures
 
C language ppt
C language pptC language ppt
C language ppt
 

Similar a 10. array & pointer

pointers of the programming in c most efficient.pptx
pointers of the programming in c most efficient.pptxpointers of the programming in c most efficient.pptx
pointers of the programming in c most efficient.pptx
AmitRout25
 
FP 201 - Unit 6
FP 201 - Unit 6FP 201 - Unit 6
FP 201 - Unit 6
rohassanie
 

Similar a 10. array & pointer (20)

Pointer
PointerPointer
Pointer
 
C++ examples &revisions
C++ examples &revisionsC++ examples &revisions
C++ examples &revisions
 
Chapter5.pptx
Chapter5.pptxChapter5.pptx
Chapter5.pptx
 
C pointers
C pointersC pointers
C pointers
 
CPointer-hk.ppt
CPointer-hk.pptCPointer-hk.ppt
CPointer-hk.ppt
 
Pointers
PointersPointers
Pointers
 
Engineering Computers L32-L33-Pointers.pptx
Engineering Computers L32-L33-Pointers.pptxEngineering Computers L32-L33-Pointers.pptx
Engineering Computers L32-L33-Pointers.pptx
 
Pointers in C
Pointers in CPointers in C
Pointers in C
 
pointers of the programming in c most efficient.pptx
pointers of the programming in c most efficient.pptxpointers of the programming in c most efficient.pptx
pointers of the programming in c most efficient.pptx
 
Pointers+(2)
Pointers+(2)Pointers+(2)
Pointers+(2)
 
Array
ArrayArray
Array
 
Pointers in C
Pointers in CPointers in C
Pointers in C
 
detailed information about Pointers in c language
detailed information about Pointers in c languagedetailed information about Pointers in c language
detailed information about Pointers in c language
 
Arrays
ArraysArrays
Arrays
 
Unit-I Pointer Data structure.pptx
Unit-I Pointer Data structure.pptxUnit-I Pointer Data structure.pptx
Unit-I Pointer Data structure.pptx
 
Pointer in C
Pointer in CPointer in C
Pointer in C
 
FP 201 - Unit 6
FP 201 - Unit 6FP 201 - Unit 6
FP 201 - Unit 6
 
Pointers
PointersPointers
Pointers
 
CSE240 Pointers
CSE240 PointersCSE240 Pointers
CSE240 Pointers
 
Advanced C - Part 3
Advanced C - Part 3Advanced C - Part 3
Advanced C - Part 3
 

Más de 웅식 전

15 3. modulization
15 3. modulization15 3. modulization
15 3. modulization
웅식 전
 
15 2. arguement passing to main
15 2. arguement passing to main15 2. arguement passing to main
15 2. arguement passing to main
웅식 전
 
12 2. dynamic allocation
12 2. dynamic allocation12 2. dynamic allocation
12 2. dynamic allocation
웅식 전
 
12 1. multi-dimensional array
12 1. multi-dimensional array12 1. multi-dimensional array
12 1. multi-dimensional array
웅식 전
 
11. array & pointer
11. array & pointer11. array & pointer
11. array & pointer
웅식 전
 
10. pointer & function
10. pointer & function10. pointer & function
10. pointer & function
웅식 전
 
7. variable scope rule,-storage_class
7. variable scope rule,-storage_class7. variable scope rule,-storage_class
7. variable scope rule,-storage_class
웅식 전
 
5 2. string processing
5 2. string processing5 2. string processing
5 2. string processing
웅식 전
 
5 1. character processing
5 1. character processing5 1. character processing
5 1. character processing
웅식 전
 
15 1. enumeration, typedef
15 1. enumeration, typedef15 1. enumeration, typedef
15 1. enumeration, typedef
웅식 전
 
3 2. if statement
3 2. if statement3 2. if statement
3 2. if statement
웅식 전
 
3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib
웅식 전
 
2 3. standard io
2 3. standard io2 3. standard io
2 3. standard io
웅식 전
 
2 2. operators
2 2. operators2 2. operators
2 2. operators
웅식 전
 
2 1. variables & data types
2 1. variables & data types2 1. variables & data types
2 1. variables & data types
웅식 전
 

Más de 웅식 전 (20)

15 3. modulization
15 3. modulization15 3. modulization
15 3. modulization
 
15 2. arguement passing to main
15 2. arguement passing to main15 2. arguement passing to main
15 2. arguement passing to main
 
14. fiile io
14. fiile io14. fiile io
14. fiile io
 
13. structure
13. structure13. structure
13. structure
 
12 2. dynamic allocation
12 2. dynamic allocation12 2. dynamic allocation
12 2. dynamic allocation
 
12 1. multi-dimensional array
12 1. multi-dimensional array12 1. multi-dimensional array
12 1. multi-dimensional array
 
11. array & pointer
11. array & pointer11. array & pointer
11. array & pointer
 
10. pointer & function
10. pointer & function10. pointer & function
10. pointer & function
 
9. pointer
9. pointer9. pointer
9. pointer
 
7. variable scope rule,-storage_class
7. variable scope rule,-storage_class7. variable scope rule,-storage_class
7. variable scope rule,-storage_class
 
6. function
6. function6. function
6. function
 
5 2. string processing
5 2. string processing5 2. string processing
5 2. string processing
 
5 1. character processing
5 1. character processing5 1. character processing
5 1. character processing
 
15 1. enumeration, typedef
15 1. enumeration, typedef15 1. enumeration, typedef
15 1. enumeration, typedef
 
4. loop
4. loop4. loop
4. loop
 
3 2. if statement
3 2. if statement3 2. if statement
3 2. if statement
 
3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib
 
2 3. standard io
2 3. standard io2 3. standard io
2 3. standard io
 
2 2. operators
2 2. operators2 2. operators
2 2. operators
 
2 1. variables & data types
2 1. variables & data types2 1. variables & data types
2 1. variables & data types
 

Último

Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
rajveermohali2022
 
💕COD Call Girls In Kurukshetra 08168329307 Pehowa Escort Service
💕COD Call Girls In Kurukshetra 08168329307 Pehowa Escort Service💕COD Call Girls In Kurukshetra 08168329307 Pehowa Escort Service
💕COD Call Girls In Kurukshetra 08168329307 Pehowa Escort Service
Apsara Of India
 
VIP 💞🌷Call Girls In Karnal 08168329307 Escorts Service Nilokheri Call Girls
VIP 💞🌷Call Girls In Karnal 08168329307 Escorts Service Nilokheri Call GirlsVIP 💞🌷Call Girls In Karnal 08168329307 Escorts Service Nilokheri Call Girls
VIP 💞🌷Call Girls In Karnal 08168329307 Escorts Service Nilokheri Call Girls
Apsara Of India
 
Fun Call Girls In Yamunanagar 08168329307 Jagadhri Escort Services
Fun Call Girls In Yamunanagar 08168329307 Jagadhri Escort ServicesFun Call Girls In Yamunanagar 08168329307 Jagadhri Escort Services
Fun Call Girls In Yamunanagar 08168329307 Jagadhri Escort Services
Apsara Of India
 
❤️Call Girls In Chandigarh 08168329307 Dera Bassi Zirakpur Panchkula Escort S...
❤️Call Girls In Chandigarh 08168329307 Dera Bassi Zirakpur Panchkula Escort S...❤️Call Girls In Chandigarh 08168329307 Dera Bassi Zirakpur Panchkula Escort S...
❤️Call Girls In Chandigarh 08168329307 Dera Bassi Zirakpur Panchkula Escort S...
Apsara Of India
 
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort ServiceAll Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
Apsara Of India
 
Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
rajveermohali2022
 
Chandigarh Escort Service 📞9878281761📞 Just📲 Call Navi Chandigarh Call Girls ...
Chandigarh Escort Service 📞9878281761📞 Just📲 Call Navi Chandigarh Call Girls ...Chandigarh Escort Service 📞9878281761📞 Just📲 Call Navi Chandigarh Call Girls ...
Chandigarh Escort Service 📞9878281761📞 Just📲 Call Navi Chandigarh Call Girls ...
Sheetaleventcompany
 
💞Call Girls In Sonipat 08168329307 Sonipat Kundli GTK Bypass EsCoRt Service
💞Call Girls In Sonipat 08168329307 Sonipat Kundli GTK Bypass EsCoRt Service💞Call Girls In Sonipat 08168329307 Sonipat Kundli GTK Bypass EsCoRt Service
💞Call Girls In Sonipat 08168329307 Sonipat Kundli GTK Bypass EsCoRt Service
Apsara Of India
 
Call Girls In Goa 7028418221 Call Girls In Colva Beach Escorts Service
Call Girls In Goa 7028418221 Call Girls In Colva Beach Escorts ServiceCall Girls In Goa 7028418221 Call Girls In Colva Beach Escorts Service
Call Girls In Goa 7028418221 Call Girls In Colva Beach Escorts Service
Apsara Of India
 

Último (20)

Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
 
Call Girls in Bangalore Lavya 💋9136956627 Bangalore Call Girls
Call Girls in Bangalore Lavya 💋9136956627 Bangalore Call GirlsCall Girls in Bangalore Lavya 💋9136956627 Bangalore Call Girls
Call Girls in Bangalore Lavya 💋9136956627 Bangalore Call Girls
 
Hire 💕 8617697112 Pulwama Call Girls Service Call Girls Agency
Hire 💕 8617697112 Pulwama Call Girls Service Call Girls AgencyHire 💕 8617697112 Pulwama Call Girls Service Call Girls Agency
Hire 💕 8617697112 Pulwama Call Girls Service Call Girls Agency
 
💕COD Call Girls In Kurukshetra 08168329307 Pehowa Escort Service
💕COD Call Girls In Kurukshetra 08168329307 Pehowa Escort Service💕COD Call Girls In Kurukshetra 08168329307 Pehowa Escort Service
💕COD Call Girls In Kurukshetra 08168329307 Pehowa Escort Service
 
VIP 💞🌷Call Girls In Karnal 08168329307 Escorts Service Nilokheri Call Girls
VIP 💞🌷Call Girls In Karnal 08168329307 Escorts Service Nilokheri Call GirlsVIP 💞🌷Call Girls In Karnal 08168329307 Escorts Service Nilokheri Call Girls
VIP 💞🌷Call Girls In Karnal 08168329307 Escorts Service Nilokheri Call Girls
 
Top 10 Makeup Brands in India for women
Top 10  Makeup Brands in India for womenTop 10  Makeup Brands in India for women
Top 10 Makeup Brands in India for women
 
VIP Model Call Girls Buldhana Call ON 8617697112 Starting From 5K to 25K High...
VIP Model Call Girls Buldhana Call ON 8617697112 Starting From 5K to 25K High...VIP Model Call Girls Buldhana Call ON 8617697112 Starting From 5K to 25K High...
VIP Model Call Girls Buldhana Call ON 8617697112 Starting From 5K to 25K High...
 
Fun Call Girls In Yamunanagar 08168329307 Jagadhri Escort Services
Fun Call Girls In Yamunanagar 08168329307 Jagadhri Escort ServicesFun Call Girls In Yamunanagar 08168329307 Jagadhri Escort Services
Fun Call Girls In Yamunanagar 08168329307 Jagadhri Escort Services
 
Nalasopara Call Girls Services 9892124323 Home and Hotel Delivery Free
Nalasopara Call Girls Services 9892124323 Home and Hotel Delivery FreeNalasopara Call Girls Services 9892124323 Home and Hotel Delivery Free
Nalasopara Call Girls Services 9892124323 Home and Hotel Delivery Free
 
❤️Call Girls In Chandigarh 08168329307 Dera Bassi Zirakpur Panchkula Escort S...
❤️Call Girls In Chandigarh 08168329307 Dera Bassi Zirakpur Panchkula Escort S...❤️Call Girls In Chandigarh 08168329307 Dera Bassi Zirakpur Panchkula Escort S...
❤️Call Girls In Chandigarh 08168329307 Dera Bassi Zirakpur Panchkula Escort S...
 
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort ServiceAll Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
 
Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
Zirakpur Call Girls👧 Book Now📱8146719683 📞👉Mohali Call Girl Service No Advanc...
 
High Class Call Girls in Bangalore 📱9136956627📱
High Class Call Girls in Bangalore 📱9136956627📱High Class Call Girls in Bangalore 📱9136956627📱
High Class Call Girls in Bangalore 📱9136956627📱
 
Night 7k to 12k Chennai Call Girls 👉👉 8617697112⭐⭐ 100% Genuine Escort Servic...
Night 7k to 12k Chennai Call Girls 👉👉 8617697112⭐⭐ 100% Genuine Escort Servic...Night 7k to 12k Chennai Call Girls 👉👉 8617697112⭐⭐ 100% Genuine Escort Servic...
Night 7k to 12k Chennai Call Girls 👉👉 8617697112⭐⭐ 100% Genuine Escort Servic...
 
Dubai Call Girls Phone O525547819 Take+ Call Girls Dubai=
Dubai Call Girls Phone O525547819 Take+ Call Girls Dubai=Dubai Call Girls Phone O525547819 Take+ Call Girls Dubai=
Dubai Call Girls Phone O525547819 Take+ Call Girls Dubai=
 
Chandigarh Escort Service 📞9878281761📞 Just📲 Call Navi Chandigarh Call Girls ...
Chandigarh Escort Service 📞9878281761📞 Just📲 Call Navi Chandigarh Call Girls ...Chandigarh Escort Service 📞9878281761📞 Just📲 Call Navi Chandigarh Call Girls ...
Chandigarh Escort Service 📞9878281761📞 Just📲 Call Navi Chandigarh Call Girls ...
 
💞Call Girls In Sonipat 08168329307 Sonipat Kundli GTK Bypass EsCoRt Service
💞Call Girls In Sonipat 08168329307 Sonipat Kundli GTK Bypass EsCoRt Service💞Call Girls In Sonipat 08168329307 Sonipat Kundli GTK Bypass EsCoRt Service
💞Call Girls In Sonipat 08168329307 Sonipat Kundli GTK Bypass EsCoRt Service
 
Call Girls in Bangalore Nisha 💋9136956627 Bangalore Call Girls
Call Girls in Bangalore Nisha 💋9136956627 Bangalore Call GirlsCall Girls in Bangalore Nisha 💋9136956627 Bangalore Call Girls
Call Girls in Bangalore Nisha 💋9136956627 Bangalore Call Girls
 
Call Girls In Goa 7028418221 Call Girls In Colva Beach Escorts Service
Call Girls In Goa 7028418221 Call Girls In Colva Beach Escorts ServiceCall Girls In Goa 7028418221 Call Girls In Colva Beach Escorts Service
Call Girls In Goa 7028418221 Call Girls In Colva Beach Escorts Service
 
"Maximizing your savings:The power of financial planning".pptx
"Maximizing your savings:The power of financial planning".pptx"Maximizing your savings:The power of financial planning".pptx
"Maximizing your savings:The power of financial planning".pptx
 

10. array & pointer

  • 2. 2 One-Dimensional Arrays  Array – A consecutive series of variables that share one name – 5 consecutive variables of integer type under the name of num int num[5] ; num 1000 1004 1008 1012 1016 Memory addresses
  • 3. 3 The Relationship between Arrays and Pointers  Example : – Which address does each element have? int num[5] ; num 1000 1004 1008 1012 1016 num[0] num[1] num[2] num[3] num[4] &num[0] == 1000 &num[1] == 1004 &num[2] == 1008 &num[3] == 1012 &num[4] == 1016 Memory addresses
  • 4. 4 The Relationship between Arrays and Pointers  Example : What is num? – num is the constant pointer of which value is the start address of the array. int num[5] ; num 1000 1004 1008 1012 1016 num[0] num[1] num[2] num[3] num[4] num == &num[0] == 1000 Memory addresses
  • 5. 5 The Relationship between Arrays and Pointers  Example : Arithmetic of pointers – “pointer + 1” does not mean increasing pointer by 1. – “pointer + 1” is “the address of the next element”. – “pointer – 1” is “the address of the prior element”. int num[5] ; 1000 1004 1008 1012 1016 num[0] num[1] num[2] num[3] num[4] num == &num[0] == 1000 (num+0) == ?? (num+1) == ?? (num+2) == ?? (num+3) == ?? (num+4) == ?? &num[0] &num[1] &num[2] &num[3] &num[4] Memory addresses
  • 6. 6 The Relationship between Arrays and Pointers  Example : Arithmetic of pointers int num[5] ; 10 20 30 40 50 1000 1004 1008 1012 1016 num[0] num[1] num[2] num[3] num[4] int num[5], *p = num ; *p = 10 ; *(p+1) = 20 ; *(p+2) = 30 ; *(p+3) = 40 ; *(p+4) = 50 ; int num[5], *p = num ; p[0] = 10 ; p[1] = 20 ; p[2] = 30 ; p[3] = 40 ; p[4] = 50 ; int num[5] ; *num = 10 ; *(num+1) = 20 ; *(num+2) = 30 ; *(num+3) = 40 ; *(num+4) = 50 ; int num[5] ; num[0] =10 ; num[1] = 20 ; num[2] = 30 ; num[3] = 40 ; num[4] = 50 ; Memory addresses
  • 7. 7 Pointer Arithmetic and Element Size  Adding an Integer to a Pointer [Ex] p = &a[2]; q = p + 3; p += 6; 0 1 2 3 4 5 6 7 8 9 p a 0 1 2 3 4 5 6 7 8 9 p a 0 1 2 3 4 5 6 7 8 9 p a q q
  • 8. 8 Pointer Arithmetic and Element Size  Subtracting an Integer from a Pointer [Ex] p = &a[8]; q = p - 3; p -= 6; 0 1 2 3 4 5 6 7 8 9 p a 0 1 2 3 4 5 6 7 8 9 p a 0 1 2 3 4 5 6 7 8 9 p a q q
  • 9. 9 Pointer Arithmetic and Element Size  Subtracting Pointers [Ex] p = &a[5]; q = &a[1]; i = p – q; /* i == 4 */ i = q – p; /* i == -4 */ 0 1 2 3 4 5 6 7 8 9 q a p
  • 10. 10 Pointer Arithmetic and Element Size  Comparing Pointers – Relational operators (<, <=, >, >=) can be applied – Equality operators (==, !=) can be applied [Ex] p = &a[5]; q = &a[1]; p <= q; /* result is 0 */ p >= q; /* result is 1 */
  • 11. 11 Pointer Arithmetic and Element Size  Example: Pointer Operation int a[ ] = { 5,15,25,43,12,1,7,89,32,11} int *p = &a[1], *q = &a[5] ; 1. *(p + 3) ? 2. *(q - 2) ? 3. q - p ? 4. if ( p > q ) ? 5. if ( *p > *q )?
  • 12. 12 Pointer Arithmetic and Element Size  Example: Pointer Operation #include <stdio.h> int main(void) { double a[2], *p, *q; p = &a[0]; /* points at base of array */ q = p + 1; /* equivalent to q = &a[1]; */ printf(“%dn”, q – p ); printf(“%dn”, (int) q – (int) p ); printf(“%dn”, sizeof(double) ); return 0; }
  • 13. Combining the * and ++ Operators  Combining the * and ++ Operators – p increased or decreased, then *p performed – p increased or decreased, then *(p-1) or *(p+1) performed – Increase or decrease 1 of a variable pointing p 13 *++p  *(++p), *--p  *(--p) *p++  *(p++), *p--  *(p--) (*p)++, (*p)--
  • 14. Combining the * and ++ Operators  Combining the * and ++ Operators 14 void main() { int k, a[10], *p = a ; while( p < &a[10] ) *p++ = 0 ; } void main() { int k, a[10], *p = a ; while( p < &a[10] ) { *p = 0 ; p = p + 1 ; } }
  • 15. Combining the * and ++ Operators  Combining the * and ++ Operators 15 void main() { int k, a[10], *p = &a[10] ; while( p >= &a[0] ) *--p = 0 ; } void main() { int k, a[10], *p = a ; while( p >= &a[0] ) { p = p -1 ; *p = 0 ; } }
  • 16. Example  Add inputted integer numbers 16 #include <stdio.h> int sum( int num[], int size ) { int k, sum = 0 ; for( k = 0 ; k < size ; k++ ) sum += num[k] ; return sum ; } void main() { int a[100], k ; for( k = 0 ; k < 100 ; k++ ) scanf( “%d”, &a[k] ) ; printf( “%dn”, sum(a, 100) ) ; } #include <stdio.h> int sum( int num[], int size ) { int k, sum = 0 ; for( k = 0 ; k < size ; k++ ) sum += *num++ ; return sum ; } void main() { int a[100], k ; for( k = 0 ; k < 100 ; k++ ) scanf( “%d”, &a[k] ) ; printf( “%dn”, sum(a, 100) ) ; } int num[] and int *num are the same