คือเห็นว่าการเขียนโปรแกรมจะมีการกำหนดว่าตัวแปรนี้เก็บข้อมูลชนิดไหนแล้วเก็บเป็นจำนวนกี่ไบต์
เช่น ถ้าตัวแปร boolean ก็ค่า true false จำนวน2ไบต์ นี่หมายความว่าจะใช้แรมจำนวน2ไบต์ในการเก็บหลอคับ
แล้วจะมีการคืนทรัพยากรณ์ยังไงคับ จนกว่าเราจะเลิกใช้ตัวแปรนั้นในการเก็บค่าหลอคับ
ถ้าเป็นอย่างที่ถามไว้ข้างบนดังนั้นจะประหยัดทรัพยากรหรือเปลืองทรัพยากรก็ขึ้นอยู่กับตรงนี้ด้วยใช่มั้ยคับ
ปล.เข้าบอร์ดไม่ได้หลายวันเลยแฮ๊ะใครเป็นมั่งหว่า-*-
สงสัยเกี่ยวกับตัวแปรคับ
เริ่มโดย SezunA, Jan 29 2008 11:26 PM
มี 3 โพสต์ตอบกลับกระทู้นี้
#1
โพสต์เมื่อ 29 January 2008 - 11:26:46 PM
#2
โพสต์เมื่อ 30 January 2008 - 12:10:29 AM
host เน่าครับ เรื่องการประกาศตัวแปรมีผลต่อการเปลือง memory แน่นอน
เช่น longint (8byte) ย่อมใช้มากกว่า integer (4byte) ลองคิดถึงโปรแกรมที่ใช้ array
100000+ ดูสิ แค่เปลี่ยน type ram ก้อหายไปเกือบครึ่ง mb แล้วนะนั่น
ส่วนเวลาการคงอยู่ของตัวแปร จะเรียกว่า ช่วงชีวิต (life time) ครับ อันนี้แล้วแต่ภาษา
ว่าจะจัดการยังไง โดยมาก จะสิ้นสุดเมื่อจบ block นั้นๆ เช่น จบ { } หรือ จบ function
ลองหาอ่านเรื่อง life time ของ java อ่ะคับ น่าจะเข้าใจมากขึ้น
เช่น longint (8byte) ย่อมใช้มากกว่า integer (4byte) ลองคิดถึงโปรแกรมที่ใช้ array
100000+ ดูสิ แค่เปลี่ยน type ram ก้อหายไปเกือบครึ่ง mb แล้วนะนั่น
ส่วนเวลาการคงอยู่ของตัวแปร จะเรียกว่า ช่วงชีวิต (life time) ครับ อันนี้แล้วแต่ภาษา
ว่าจะจัดการยังไง โดยมาก จะสิ้นสุดเมื่อจบ block นั้นๆ เช่น จบ { } หรือ จบ function
ลองหาอ่านเรื่อง life time ของ java อ่ะคับ น่าจะเข้าใจมากขึ้น
#3
โพสต์เมื่อ 30 January 2008 - 06:33:20 AM
ตัวแปรมีอยู่ 2 อย่างครับคือ
1 Local คือ ตัวแปรที่ประกาศใช้ใน procedure หรือ function ต่างๆ จะมีการคืนหน่วยความจำก็ต่อเมื่อ จบการทำงานของ procedure หรือ function นั้นๆ หรือจะมีการกำหนดเองว่าให้คืนตอนไหน
2 Global คือ ตัวแปรที่ประกาศใช้ในส่วนจอง โปรแกรมหลัก หรือ main โปรแกรม จะมีการใช้งานจนกว่าจะจบโปรแกรม หรือ กำหนดให้หยุดโดยมากแล้วจะหยุดเมื่อจบการทำงานของโปรแกรมครับ
1 Local คือ ตัวแปรที่ประกาศใช้ใน procedure หรือ function ต่างๆ จะมีการคืนหน่วยความจำก็ต่อเมื่อ จบการทำงานของ procedure หรือ function นั้นๆ หรือจะมีการกำหนดเองว่าให้คืนตอนไหน
2 Global คือ ตัวแปรที่ประกาศใช้ในส่วนจอง โปรแกรมหลัก หรือ main โปรแกรม จะมีการใช้งานจนกว่าจะจบโปรแกรม หรือ กำหนดให้หยุดโดยมากแล้วจะหยุดเมื่อจบการทำงานของโปรแกรมครับ
#4
โพสต์เมื่อ 30 January 2008 - 10:48:04 PM
ขอบคุณคับกระจ่างขึ้นเยอะเลย.. ปกติแล้วชอบเลือกใช้ตัวแปรที่เก็บค่าได้เยอะๆไว้ก่อน(เผื่ออนาคต)
แต่ถ้ามามองถึงเรื่องหน่วยความจำแล้วบางครั้งคงเกินความจำเป็นไปจริงๆ
แต่ถ้ามามองถึงเรื่องหน่วยความจำแล้วบางครั้งคงเกินความจำเป็นไปจริงๆ
0 สมาชิกกำลังอ่านกระทู้นี้
0 สมาชิก, 0 ผู้เยี่ยมชม, 0 ผู้ใช้งานที่ซ่อนตัว