วันอังคารที่ 28 กรกฎาคม พ.ศ. 2552

DTS03-02-07-2552

7/14/2009

DTS03-02-07-2552
สรุปเรื่อง Pointer และ Set and String

ตัวแปร pointer แปรตรงๆ ว่าตัวชี้จะต่างจากตัวแปรธรรมดาตรงที่แทนที่จะจองram เอาใว้เก็บข้อมูลแต่เอาใว้เก็บ Address ของตัวแปรที่มันชี้อยู่แทนจะมีประโยชน์ก็ตรงที่เราสามารถเข้าถึงข้อมูลข้างใน Address ได้โดยตรงเลยและสามารถเอามาใช้แทนตัวแปร string ที่สร้างโดยใช้ array ได้อีกด้วยรูปแบบชนิด *ชื่อของ pointer;การประกาศก็คล้ายๆ กับตัวแปรธรรมดาแต่จะต่างกันตรงที่ต้องใส่เครื่องหมาย star (*)เอาใว้หน้าชื่อตัวแปรแค่นั้น เพื่อบอกให้รู้ว่านี่คือ pointerเครื่องหมาย & เป็นเครื่องหมายที่บอกตำแหน่งที่อยู่ของตัวแปรที่เก็บไว้ในหน่วยความจำ** ในกรณีที่ตัวแปรใดมีเครื่องหมาย & นำหน้าจะไม่สามารถนำมาคำนวณได้การประกาศตัวแปรพอยน์เตอร์ (Declaration of Pointer Variables)type *variable_name ;หรือ type *variable_name1, *variable_name2,... ,*variable_nameN ;โดย type คือ ชนิดของตัวแปร เช่น int ,float ,char ฯลฯ โดยต้องเป็นชนิดเดียวกับของตัวแปรหรือข้อมูลที่พอยน์เตอร์นั้นเก็บตำแหน่งที่อยู่* เป็นเครื่องหมายที่ระบุว่าเป็นตัวแปรพอยน์เตอร์variable_name1, variable_name2,..., variable_nameN ชื่อตัวแปรพอยน์ตัวที่ 1 ถึง ตัวสุดท้ายที่ประกาศในการประกาศครั้งนี้ตัวอย่างint *ptr1, *prt2; char *word, *str1;การกำหนดตำแหน่งของข้อมูลให้ตัวแปรพอยน์เตอร์การกำหนดตำแหน่งที่เก็บข้อมูลในหน่วยความจำของตัวแปรทำได้โดยใช้เครื่องหมาย & (ampersand) นำหน้าชื่อตัวแปร นำมากำหนดให้เป็นค่าของพอยน์เตอร์เช่นint num1 = 120; /* ประกาศและกำหนดค่าให้แก่ตัวแปร ในที่นี้เป็นตัวแปร ชื่อ num1 เป็นประเภท int โดยมีค่า เป็น 120 */int *ptr1; /* ประกาศตัวแปรพอยน์เตอร์ ในที่นี้เป็นประเภท int เพราะใช้เก็บตำแหน่งของตัวแปรประเภท int */ptr1 = &num1; /* กำหนดค่าตำแหน่งของตัวแปรให้เป็นค่าของพอยน์เตอร์ */** ถ้าต้องการทราบว่า *ptr มีค่าเท่าไหร่หาได้จาก ณ ตำแหน่งที่ ptr เก็บอยู่ คือตำแหน่งที่เท่าไหร่แล้วดูว่าที่ตำแหน่งนั้นมีค่าเท่ากับเท่าไหร่Setเป็นโครงสร้างที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กันเลย ตัวดำเนินการของเซ็ต ประกอบด้วย1.set intersection2.set union3.set differenceStringเป็นข้อมูลที่ประกอบด้วย ตัวอักษร ตัวเลข หรือเครื่องหมายที่เรียงติดต่อกันความยาวของสตริงจะถูกกำหนดโดยขนาดของสตริง ในการจองเนื้อที่นั้นต้องทำการจองเนื้อที่ให้กับ \0 ด้วย

ไม่มีความคิดเห็น:

แสดงความคิดเห็น