EEM-120 Algoritma ve Programlama II Dersi
2022-2023 Bahar Dönemi Konu 1
İşaretçi aritmetiği
#include <stdio.h>
int main() {
int a[]={2,4,6,8,10};
printf("a[0]:%u\n", a[0]);
printf("a: %u\n",a);
printf("*a: %u\n",*a);
printf("a+1: %u\n",a+1);
printf("a+3: %u\n",a+3);
printf("a+30: %u\n",a+30);
return 0;
}
#include <stdio.h>
int main() {
int a[]={2,4,6,8,10};
int *p;
p = &a[0];
printf("p: %u\n",p);
printf("*p: %u\n",*p);
printf("(p+2): %u\n",(p+2));
printf("*(p+2): %u\n",*(p+2));
printf("*p: %u\n",*p);
printf("*p+2: %u\n",*p+2);
return 0;
}
#include <stdio.h>
int main() {
int a[]={2,4,6,8,10,12,14,16};
int *p;
p = a;
printf("p: %u\n",p);
printf("*p: %u\n",*p);
p++;
printf("(p+2): %u\n",p);
printf("*(p+2): %u\n",*(p+2));
p=p+3;
printf("*p: %u\n",*p);
printf("*p+3: %u\n",*p+3);
p--;
printf("*p: %u\n",*p);
printf("*p+5: %u\n",*p+5);
return 0;
}
#include <stdio.h>
int main() {
int a[]={2,4,6,8,10,12,14,16};
int *p;
p = &a[5];
printf("p: %u\n",p);
printf("*p: %u\n",*p);
p=p-2;
printf("p: %u\n",p);
printf("*(p+1): %u\n",*(p+1));
return 0;
}
#include <stdio.h>
int main() {
int a[]={2,4,6,8,10,12,14,16,18,20,22};
int *p, *q;
p=&a[2];
printf("p:%u\n",p);
printf("*p:%u\n",*p);
q=p+3;
printf("q:%u\n",q);
printf("*q:%u\n",*q);
p=p+6;
printf("p:%u\n",p);
printf("*p:%u\n",*p);
return 0;
}
#include <stdio.h>
int main() {
int a[]={2,4,6,8,10,12,14};
int *p, *q;
p=a;
q=&a[2];
printf("p==q:%d\n",p==q);
printf("p>q:%d\n",p>q);
printf("p<=q:%d\n",p<=q);
return 0;
}
#include <stdio.h>
int main() {
int a[]={2,4,6,8,10,12,14,20};
int toplam=0, i, boyut;
int *p;
boyut=sizeof(a)/sizeof(a[0]);
for(i=0;i<boyut;i++)
toplam += a[i];
printf("toplam1: %d\n",toplam);
toplam = 0;
for(p=&a[0];p<&a[boyut];p++)
toplam += *p;
printf("toplam2: %d\n",toplam);
return 0;
}
#include <stdio.h>
int main() {
int a[]={2,4,6,8,10,12,14,20};
int toplam=0, i, boyut;
int *p;
boyut=sizeof(a)/sizeof(a[0]);
for(i=0;i<boyut;i++)
toplam += a[i];
printf("toplam1: %d\n",toplam);
toplam = 0;
for(p=a;p<a+boyut;p++)
toplam += *p;
printf("toplam2: %d\n",toplam);
return 0;
}
#include <stdio.h>
#define N 10
int main() {
int a[10]={2,4,6,8,10,12,14,20};
int i=2;
a[i++]=100;
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
i=5;
a[++i]=200;
for(i=0;i<N;i++)
printf("%d ",a[i]);
return 0;
}
#include <stdio.h>
#define N 10
int main() {
int a[10]={2,4,6,8,10,12,14,20};
int *p;
p=&a[3];
printf("*p: %d\n",*p);
printf("*p++: %d\n",*p++);
printf("*p: %d\n",*p);
printf("(*p)++: %d\n",(*p)++);
printf("*p: %d\n",*p);
printf("*++p: %d\n",*++p);
printf("*p: %d\n",*p);
printf("++*p: %d\n",++*p);
printf("*p: %d\n",*p);
for(p=a;p<a+N;p++)
printf("%d ",*p);
printf("\n");
p=a;
while(p< a+N)
printf("%d ",*p++);
return 0;
}
#include <stdio.h>
#define N 10
int main() {
int a[10]={2,4,6,8,10,12,14,20};
int i, *p;
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
for(i=N-1;i>=0;i--)
printf("%d ",a[i]);
printf("\n");
for(p=a;p<a+N;p++)
printf("%d ",*p);
printf("\n");
for(p=a+N-1;p>=a;p--)
printf("%d ",*p);
return 0;
}
#include <stdio.h>
int eb(int a[], int boyut){
int maks,i;
maks=a[0];
for(i=1;i<boyut;i++)
if(a[i]>maks)
maks=a[i];
return maks;
}
int main() {
int a[]={2,4,6,8,10,500,14,20,100,200,20};
int n;
n=sizeof(a)/sizeof(int);
printf("en buyuk eleman: %d", eb(a, n));
return 0;
}
#include <stdio.h>
int eb(int x[], int boyut){
int maks,*p;
maks=*x;
for(p=x+1;p<x+boyut;p++)
if(*p>maks)
maks=*p;
return maks;
}
int main() {
int a[]={2,4,6,8,10,500,14,20,100,200,20};
int n;
n=sizeof(a)/sizeof(int);
printf("en buyuk eleman: %d", eb(a, n));
return 0;
}
#include <stdio.h>
int eb(int *x, int boyut){
int maks,*p;
maks=*x;
for(p=x+1;p<x+boyut;p++)
if(*p>maks)
maks=*p;
return maks;
}
int main() {
int a[]={2,4,6,8,10,500,14,20,100,200,20};
int n;
n=sizeof(a)/sizeof(int);
printf("en buyuk eleman: %d", eb(a, n));
return 0;
}
#include <stdio.h>
void temizle(int *x, int n){
int *p;
for(p=x;p<x+n;p++)
*p=0;
}
int main() {
int a[]={2,4,6,8,10,500,14,20,100,200,20};
int n, *isaretci;
n=sizeof(a)/sizeof(int);
for(isaretci=a; isaretci<a+n;isaretci++)
printf("%d ", *isaretci);
printf("\n");
temizle(a, n);
for(isaretci=a; isaretci<a+n;isaretci++)
printf("%d ", *isaretci);
return 0;
}
#include <stdio.h>
#define N 10
int main() {
int a[N]={2,4,6,8,10,500};
int toplam=0, *p, i;
p=a;
for(i=0;i<N;i++)
toplam += p[i];
printf("toplam1: %d\n",toplam);
toplam=0;
for(i=0;i<N;i++)
toplam += *(p+i);
printf("toplam2: %d\n",toplam);
return 0;
}
#include <stdio.h>
int main() {
int a[2][3]={{2, 4, 6},
{8, 10, 12}};
int i, j;
for(i=0;i<2;i++){
for(j=0;j<3;j++)
printf("%3d ",a[i][j]);
printf("\n");
}
return 0;
}
#include <stdio.h>
int main() {
int a[2][3]={{2, 4, 6},
{8, 10, 12}};
int i, j;
for(i=0;i<2;i++){
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n");
for(i=0;i<2;i++){
for(j=0;j<3;j++)
printf("%d ",&a[i][j]);
printf("\n");
}
return 0;
}
#include <stdio.h>
int main() {
int a[2][3]={{2, 4, 6},
{8, 10, 12}};
int i, j, *p;
for(i=0;i<2;i++){
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n");
for(i=0;i<2;i++){
for(j=0;j<3;j++)
printf("%u ",&a[i][j]);
printf("\n");
}
printf("\n");
for(p=&a[0][0];p<&a[0][0]+6;p++)
printf("%d ",*p);
printf("\n");
for(p=&a[0][0];p<=&a[1][2];p++)
printf("%d ",*p);
return 0;
}
#include <stdio.h>
int main() {
int a[2][3]={{2, 4, 6},
{8, 10, 12}};
int i, j;
printf("a: %u\n",a);
printf("a: %u",a+1);
return 0;
}
#include <stdio.h>
int main() {
int a[2][3]={{2, 4, 6},
{8, 10, 12}};
int i, j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
a[i][j]=0;
for(i=0;i<2;i++){
for(j=0;j<3;j++)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}
#include <stdio.h>
int main() {
int a[2][3]={{2, 4, 6},
{8, 10, 12}};
int i, j;
int *p;
for(p=&a[0][0];p<=&a[1][2];p++)
*p=0;
for(i=0;i<2;i++){
for(j=0;j<3;j++)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}
#include <stdio.h>
int eb(int x[][3], int n){
int i, j;
int maks;
maks=x[0][0];
for(i=0;i<n;i++){
for(j=0;j<3;j++)
if(x[i][j]>maks)
maks=x[i][j];
}
return maks;
}
int main() {
int a[2][3]={{2, 4, 30},
{8, 10, 25}};
int en_buyuk;
en_buyuk=eb(a, 2);
printf("en buyuk: %d",en_buyuk);
return 0;
}
#include <stdio.h>
int eb(int *a, int n){
int maks, *p;
maks=*a;
for(p=a+1; p<a+n;p++){
if(*p>maks)
maks=*p;
}
return maks;
}
int main() {
int a[2][3]={{2, 4, 30},
{8, 40, 25}};
int en_buyuk;
en_buyuk=eb(&a[0][0], 6);
printf("en buyuk: %d",en_buyuk);
return 0;
}
#include <stdio.h>
int main() {
int a[2][3]={{2, 4, 30},
{8, 40, 25}};
int *p;
printf("a: %u\n",a);
printf("a[0]: %u\n",a[0]);
printf("a[1]: %u\n",a[1]);
printf("a[0]+1: %u\n",a[0]+1);
printf("a: %u\n",a+1);
return 0;
}
#include <stdio.h>
int main() {
int a[2][3]= {{2, 4, 16},
{8, 20, 12}};
int (*p)[3];
int *q;
printf("a: %u\n", a);
printf("a+1: %u\n", a+1);
printf("*a: %u\n", *a);
printf("*(a+1): %u\n", *(a+1));
printf("**a: %u\n", **a);
printf("**(a+1): %u\n", **(a+1));
printf("(*a)[1]: %u\n", (*a)[1]);
printf("(*(a+1))[2]: %u\n", (*(a+1))[2]);
p=a;
printf("p: %u\n", p);
printf("p+1: %u\n", p+1);
for(p=a;p<a+2;p++)
for(q=*p; q<*p+3;q++)
printf("%d ",*q);
return 0;
}
a: 3643437072
a+1: 3643437084
*a: 3643437072
*(a+1): 3643437084
**a: 2
**(a+1): 8
(*a)[1]: 4
(*(a+1))[2]: 12
p: 3643437072
p+1: 3643437084
2 4 16 8 20 12