C Programlama Dersleri 35 - Stringler ve Pointerlar

preview_player
Показать описание
Kullandığım 2 adet Sosyal Medya Hesabının Linkleri :

Udemy üzerindeki kurslarımdan herhangi bir tanesine aşağıdaki linke tıklayarak en düşük fiyata kaydolabilirsiniz.
Bu derste stringle pointerlar arasındaki ilişkiyi öğrendik.

Рекомендации по теме
Комментарии
Автор

#define len(arr) *(&arr + 1) - arr
*yaparsak her türden array'in uzunluğunu bulabilirsin..* _(pointerda olmuyor sanırım)_
*örneğin:*

int array1[] = {1, 2, 3, 4, 5};
printf(len(array1));
//5

char array2[] = "1234567";
printf(len(array2));
//7

sonuçlarını veriyor

herom
Автор

yeni abone oldum derslerinizi cok ilgiyke beyenerek izliyorum devam edin :) 👍👍

raufrahimli
Автор

döngüde index yerine pointer kullanmak isteyenler için sanırsam bu da aynı sonucu verir :
#include<stdio.h>
int strlen(char *p){
int uzunluk = 0;
for(;*p;p++){
uzunluk++;
}
return uzunluk;
}
int main(){
char yazi[] = "tura";
printf("%d", strlen(yazi));
}

dogukanayaz
Автор

Burada ki uzunluk değişkeni fazlalık değil mi?

mumtaz
Автор

Baskan yanit vermemesinin sebebi arka planda kendi basina baslayan guncellemeler vs olabilir.Windows update veya herhangi bir application guncellemesi

spaceenthusiast
Автор

hocam printf("%s", p); isleminde neden *p degilde p oldugunu anlamadım yardımcı olur musunuz lutfen

ramazanozdemir
Автор

Sizin yaptığınız her şeyi bende bilgisayardan yapıp kaydediyorum. Bu kaydetmelerden dolayı bilgisayarıma her hangi bi zarar verir mi veya yavaşlatır mı ?(seride yaptığınız nerdeyse herşeyi kaydediyorum bilgisayarımda )

Muhammed_Cicek
Автор

hocam string.h gibi kütüphaneleri nerden bulabiliriz yada içindeki fonksiyonları ?

omerates
Автор

hocam pointerlarda %s ile ilgili bir ayrıntı mı var acaba normal şartlar altında *p yapmazsak adresi vermesi gerekiyor diye biliyorum ama %s de öyle olmuyor

emirkopar
Автор

Hocam, printf(""%s"", p) ; deme mantığımızı anlamadım. Pointer adres tutan bir şeyse bunu nasıl %s değişkeniyle yazıyoruz ve ayrıyeten p pointerımız sadece bir adres gösteriyorsa birden çok charı aynı anda nasıl gösteriyor. Yani *p ve pnin farkı nedir bu durumda?

ibrahimkoz
Автор

int tipindeki bir arrayi *p=yazı deyip bir pointer'e atarsak yazı arrayinin başlangıç adresini işaret eder.AMA char tipindeki bir arrayi *p=yazı deyip bir pointere atarsak bu sefer yazı değişkenin başlangıç adresine gidip '\0'(null) görene kadar Allah ne verdiyse o arrayin içindeki değeri okur..Doğrumu anladım hocam..Pointerlerin int ve char(string)'e atanmalarındaki arasındaki en büyük farkı bu galiba

Futbol-king
Автор

merhaba ben stringleri öyrenmeliyim ama hangi derslere bakacağımı bilmiyorum yardımcı ola bilirmisiniz

husniyyrzayeva
Автор

C'de eşit değilsenin yazımı != bu şekildemi gösteriliyor. Yani örneğin 5 != 0; i++ burda 5 eğer 0'a eşit değilse (true'se) i'yi bir arttır bu şekildemi oluyor

Futbol-king
Автор

#include<stdio.h>
int benimstrlen(char *p) {
int uzunluk = 0;
int i = 0;

for(;p[i] != '\0';i++) {

uzunluk++;


}

return uzunluk;
}

int main () {

char cumle[] = "";

scanf("%s", &cumle);



printf("Harf Sayısı: %d", benimstrlen(cumle));


return 0;
}


abi stringi kullanıcı doldursun istiyorum bu döğru mudur?

furkanaytass
Автор

Fonksiyon içindeki döngü satırı: for(;p[i] !='\0' ;i++') şimdi burada i'nin 0 olduğunu varsayarsak p[0]= t ("tura"nın ilk harfi t'yi tutuyor.) t !='\0';i++ böyle bir ifade oluyor.
t'den sonra bir tane ünlem var(ünlem burada neyi ifade ediyor) ben burada şunu anlıyorum..ünlem eşitse null'a i'yi bir arttır..Daha önceki dersler örneğin i<5 ;i++ ifadesinde i'nin 0 olduğunu varsayarsak 0 küçükse 5'ten (yani true'se) i'yi bir arttır demekti.Ama bu videoda !='\0' eşit değilse(yani false ise) i'yi bir arttır demek nasıl oluyor.

Futbol-king