/srv/irclogs.ubuntu.com/2013/12/19/#ubuntu-my.txt

excalibrhelo02:04
fairuzexcalibr: helo02:23
excalibrfairuz, bila kita assign string ke char pointer eg char *foo = "bar"03:18
excalibrapa yg berlaku secara teknikalnya03:18
excalibr/poke fairuz1 03:19
fairuz1excalibr: oh sorry03:19
excalibr>fairuz, bila kita assign string ke char pointer eg char *foo = "bar"03:20
fairuz1maksudnya ko akan ada dalam meory dua benda03:20
excalibr>apa yg berlaku secara teknikalnya03:20
fairuz1*memory03:20
excalibrapa bza kalau assign guna array char foo[] = "bar"03:21
fairuz1satu ruang direserve untuk simpan "bar", contoh string ni perlukan 4 bytes03:21
fairuz1jadi tiap2 byte ni ada address dia03:21
fairuz1dalm kes pertama, foo akan ada nilai address element pertama string ni, dalam kes ni address huruf b03:22
excalibrok..pointer ke address "bar" dlm memory..03:23
fairuz1dalam kes kedua pun sama, foo akan point to the first character03:23
fairuz1beza dia kat mana "bar" tu disimpan03:23
fairuz1seingat aku kalau ko pakai char*foo, "bar" tu akan disimpan kat read only memory03:24
fairuz1so takleh nak tukar03:24
fairuz1kalau ko pakai char foo[], boleh tuka. e.g. foo[0] = 'T'03:24
fairuz1excalibr: ok ke 03:27
fairuz1:p03:27
excalibrhmm ok :D lagi satu, kalau aku nak reasssign value char pointer tu ke char array..boleh reassign terus ke?03:29
excalibrchar *foo = "bar";03:30
excalibrchar oof[] = "bla";03:30
excalibrchar *foo = oof;03:30
excalibr^ ok ke buat camni?03:30
fairuz1boleh sebab foo tu bukan const pointer03:30
fairuz1so dia boleh nak assign pegi address lain03:31
fairuz1Kira nak senang, ko kena ingat pointer ni just simpan address03:31
excalibrpastu apa jadi dgn original string yg foo tu point masa mula2?03:31
fairuz1http://ideone.com/m3XIOC03:32
fairuz1tengok ni03:32
fairuz1tu takde sapa point kat dia la03:32
fairuz1dai duk sorang2 la dalam memory tu, kesian dia03:32
fairuz1*dia03:32
excalibrhahaa03:33
fairuz1kalau dari segi technical dia03:33
fairuz1kalau ko declare benda mcm int i ke03:33
fairuz1char foo[] = "bar" ke03:34
fairuz1semua benda ni scope dia auto tak salah aku03:34
fairuz1jadi dia letak benda ni kat stack scope tu03:34
excalibrtak perlu erase ke string tadi tu?03:34
fairuz1so contoh ko declare kat dalam function, abis function, benda ni semua free la03:34
fairuz1tak perlu kalau auto03:34
fairuz1*scope auto03:34
fairuz1kalau ko buat char *foo, scope dia static03:35
fairuz1takkan hilang sampai program habis03:35
excalibroh camtu03:36
fairuz1benda2 ni static, dia "embedded" dalam data segment program ko tu03:36
fairuz1Kalau static data ko byk, besar la program ko03:37
fairuz1kalau auto storage tu, time ko run tu dia reserve memory03:37
excalibrbesar dari segi mem usage?03:37
fairuz1bukan mem usage, program ko tu yg besar03:38
fairuz1physically on disk03:38
fairuz1mem usage ni utk auto storage tu03:38
fairuz1contoh mcm ni03:39
fairuz1ko ada variable static 10KB, dengan ko ada declare satu array besar 20KB dalam function X03:39
fairuz1program ko tu, saiz dia termasuk dengan 10KB variable static tu03:40
fairuz1kira start2 je program ko, variable static tu dah wujud03:40
fairuz1array besar tu tak wujud lagi, selagi ko tak masuk dalam function X03:40
fairuz1X tu tak kesah la function main ke, function buat sendiri ke03:41
excalibruhhm..03:44
excalibrstatic var ni termasuk la constant kan?03:46
fairuz1mmg constant pun static var ni03:47
fairuz1read only03:47
excalibreh yg char pointer tadi tu..kdg2 aku tengok org tulis char* foo 03:47
excalibrapa beza dgn char *foo03:47
fairuz1sama je03:49
fairuz1kalau setakat char * tu takpe lagi, kalau dah start main function pointer, kena hati2 je la sikit03:51
fairuz1contoh function pointer void (*foo)(void)03:51
fairuz1penting kurungan () tu sebab nak kata benda tu function pointer03:52
fairuz1ko kenapa tiba2 belaja programming plak ni :D03:54
excalibr:D03:59
fairuz1konsep senang mcm ni je,  saiz program = saiz code section + data section04:01
fairuz1data section dalam kes ni global dengan static variable04:01
fairuz1global tu, benda2 yang ko declare kat luar main04:01
fairuz1benda2 yang ko delare dalam main plak, atau dalam mana2 function, takkan ada dalam program ko04:02
fairuz1unless time runtime, dia akan masuk stack04:02
fairuz1benda ni la yang aku panggil auto variable tadi04:02
fairuz1sebab bila dia jumpa penutup function (   }  ), variable2 ni semua akan hilang04:03
=== fairuz1 is now known as fairuz
excalibrTIL data section04:16
excalibr:)04:16
fairuz:D04:31
excalibrmcm mana org buat multi patch dlm satu patch file06:19
excalibrbuat patch file satu-satu lepas tu concancate ke satu file?06:19
fairuzmultipatch tu ape maksud ko excalibr06:24
fairuzpatch yg meilibat byk file ke ape06:24
excalibrye06:25
fairuzpatch biasa pun boleh melibatkan byk file06:37
fairuzmacam git commit biasa06:38
fairuzsatu commit nak ada diff utk 100 files pun boleh06:38
fairuzexcalibr: ^06:38
faizul/names06:58
faizulsorry fairuz 06:58
faizulsilap taip06:58
fairuz?07:13
fairuzexcalibr: gigih buat C ke ape keke07:13
excalibrwahaha07:43
fairuzaku tengah pening godek spnego Kerberos ni07:51
faizulhi08:53

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!