View Full Version : Tolong donk C language
Sayangku
April 06, 2003, 09:04
eh tolong donk ini gue punya function di bawah, salahnya di mana kok ngeprint garbage, soalnya pointer-pointer bikin gue agak mabok.
char *getUserName();
int main(){
char* userName;
userName=getUserName();
printf(" Your User Name is %s\n", userName);
exit(0);
}
char *getUserName(){
char userName[15];
char *login=userName;
printf("Login: ");
scanf("%s", userName);
return (login);
}
yang pasti return valuenya harus char*
Thank You sebelumnya
eudea
April 06, 2003, 09:14
kayaknya salah masuk thread deh. mungkin baeknya masuk di thread software and programming kalee ye. om debe.. bisa dipindahkan ?
DeathBrain
April 06, 2003, 11:43
#include <stdio.h>
#include <conio.h>
#include <string.h>
char *getUserName();
int main(){
char *userName;
userName=getUserName();
printf(" Your User Name is %s\n", userName);
getch();
return(0);
}
char *getUserName(){
char userName[15];
char *login;
login=""; //ini dummy
printf("Login: ");
scanf("%s", userName);
strcpy(login,userName);
return (login);
}
rexus
April 06, 2003, 13:51
wah hebat!!! Oom DB juga jago C yah ? wah wah hebat hebat...
Frostbite
April 06, 2003, 14:40
mas DB itu kamus berjalan :D
Sayangku
April 06, 2003, 15:08
Thank you loh buat jawabannya, tapi Segmentation Fault tuh, soalnya ini bukan Turbo C, jadi enggak ada <conio.h> dan juga enggak ada getch().
:maaf:
Sayangku
April 06, 2003, 15:14
eh udah dapet deh akhirnya, thank you and sorry for the trouble oom DB
Frostbite
April 06, 2003, 16:51
Originally posted by Sayangku
Thank you loh buat jawabannya, tapi Segmentation Fault tuh, soalnya ini bukan Turbo C, jadi enggak ada <conio.h> dan juga enggak ada getch().
:maaf:
bukan turbo c?
apa pake borland?
enmity
April 06, 2003, 16:57
ya udah klik F1 aja trus cari di index, fungsi apa yg lo cari......
Sayangku
April 07, 2003, 01:11
Originally posted by Frostbite
bukan turbo c?
apa pake borland?
pake ANSI C
advantz
April 08, 2003, 06:05
itu C bukan C++
conio.h = cons.....h + iostring.h
AlfaOmega
April 15, 2003, 12:20
nimbrung aja dech guwe ini...
Yang guwe paham, kesalahan dari program ini ada beberapa...
salah satunya adalah return login
yang mana login adalah variabel lokal, variabel lokal itu bakal hilang setelah lu keluar dari fungsi tersebut.
char *getUserName(){
char userName[15];
char *login=userName;
printf("Login: ");
scanf("%s", userName);
return (login);
}
shinji-kun
April 16, 2003, 02:03
beda
function (parameter)
sama
function(*parameter)
maksudnya apa yah? gua tau itu ngarah ke pointer, bukan ke isi parameter itu sendiri. tapi knp pake itu?
wuff
April 16, 2003, 02:17
Originally posted by shinji-kun
beda
function (parameter)
yg di-kirim ke fungsi value/isi dari parameter tsb..
Originally posted by shinji-kun
sama
function(*parameter)
kalo yg ini yg dikirim address/pointer dari variable parameter..
bener gak yah??
AlfaOmega
April 16, 2003, 08:12
Originally posted by shinji-kun
beda
function (parameter)
sama
function(*parameter)
maksudnya apa yah? gua tau itu ngarah ke pointer, bukan ke isi parameter itu sendiri. tapi knp pake itu?
function (parameter)
lu masukin 'copy / tiruan' variabel parameter dari luar ke fungsi function ini. Jadi, kalau diubah-2 nilai dari variable parameter nya, tidak bakal mengubah nilai variabel parameter asal yang berada di luar function. Sebab yang lu ubah adalah tiruan saja, bukan aslinya.
function(*parameter)
lu masukin address dari parameter itu. Karena lu dapat addressnya, maka perubahan pada nilai di address tersebut bakal mengubah nilai address (aslinya) di luar fungsi function.
Di sini, lu tidak menggunakan copy / tiruan dari variabel parameter, tapi lu dapat address aslinya.
Kenapa pakai function(*parameter) ?
1. karena tidak memakai tiruan variabel, jadi lebih cepat.
2. Menghemat penggunaan memory.
3. lu bisa cueks berapa besar array di sana. Jadi lu hanya dapat address awalnya saja. Ntar besar array bisa diketahui.
4. variable parameter bisa jadi bukan variable global. Jadi lu bisa mengubah-2 nilai variable parameter secara langsung.
5. banyak banget yang lainnya.... Ntar lu jadi tambah bingung....
shinji-kun
April 17, 2003, 01:25
wah thanks :D jadi lebih byk kegunaannya yah pake parameter dgn variabel pointer.
lalu kalo kegunaannya fungsi pointer ?
*int fungsi (*pointer)
apakah kurang lebih sama dibandingkan pake pointer biasa?
AlfaOmega
April 17, 2003, 09:40
Originally posted by shinji-kun
wah thanks :D jadi lebih byk kegunaannya yah pake parameter dgn variabel pointer.
lalu kalo kegunaannya fungsi pointer ?
*int fungsi (*pointer)
apakah kurang lebih sama dibandingkan pake pointer biasa? susah nich pertanyaan lu. Sebab jarang guwe pakai...
Perlu nyontek buku
AlfaOmega
April 23, 2003, 08:51
susah juga nich...
Guwe jarang makai function pointer nich...
guwe copy paste aja ya
http://www.cs.kau.se/~jorgen/courses/dsa/tutorial/funcptr.html
#include <stdio.h>
void a(void)
{
printf("a was called.\n");
}
void b(void)
{
printf("b was called.\n");
}
int main(void)
{
void (*p)(void); /* This is a function pointer declaration */
p = a;
(*p)(); /* Using function pointer p */
p = b;
(*p)(); /* Using function pointer p (again) */
return 0; /* Standard exit procedure in UNIX */
}
Guwe baru tahu kalo "->" itu function pointer :toktok:
Sayangku
May 02, 2003, 08:23
eh ada yg tau cara mask password nggak? tapi kalo nggak pake header conio.h and nggak pake fungsi getch()
maksudnya biar password yg kita ketik nggak keliatan atau keluarnya tanda asterisk
vBulletin® v3.8.2, Copyright ©2000-2013, Jelsoft Enterprises Ltd.