[ภาษาซี] อาร์เรย์ 1 มิติ

4 Jan 2018,
Share: 

อาร์เรย์เปรียบเสมือนช่องสีเหลี่ยมมาเรียงต่อๆกันเป็นแถวยาว โดยแต่ละช่องจะเป็นที่สําหรับเก็บข้อมูล จํานวนของช่องที่มาเรียงต่อกันก็คือขนาดของอาร์เรย์ ในแต่ละช่องจะเป็นที่ข้อมูลได้ 1 ตัวตามชนิดของอาร์เรย์ที่ประกาศไว้

Image

การประกาศอาร์เรย์ควรประกาศให้พอดีกับความต้องการ ถ้าประกาศมากเกินความจําเป็น จะทําให้สิ้นเปลืองหน่วยความจําของเครื่อง ตัวอย่างการประกาศอาร์เรย์ 1 มิติ คือ

ชนิดของข้อมูล ชื่อตัวแปร[ขนาดของอาร์เรย์]

เช่น

int a[10];

ประกาศ a เป็นตัวแปรอาร์เรย์ชนิดจํานวนเต็ม ที่มีขนาด 10 ช่อง ซึ่งในแต่ละช่องจะเก็บข้อมูลเป็นจํานวนเต็ม int ขนาด 2  byte อาร์เรย์มีขนาด 10 ช่อง ดังนั้นอาร์เรย์นี้จะใช้หน่วยความจําเท่ากับ 10*2 = 20 byte ดังรูป

Image

เราสามารถกําหนดค่าเริ่มต้นให้ตัวแปรอาร์เรย์ที่สร้างขึ้นมาได้ ดังนี้

char ch[3] = { 'a', 'b' };
หรือ
char ch[] = { 'a', 'b' };

จะได้ดังนี้

Image

เราสามารถเข้าภึงตัวแปรแต่ละตัวได้โดยการกําหนด index ซึ่งจะเริ่มจาก 0 ดังตัวอย่างนี้

int a[] = {100, 400, 900};
printf("%d", a[1]);

จาก Code ด้านบนโปรแกรมจะแสดง 400 ออกมาทางหน้าจอ

สรุป

สามารถนําอาร์เรย์ ไปใช้เก็บข้อมูลที่มีลักษณะเป็นชุดๆได้ เช่นเก็บคะแนนของนักเรียนในชั้นเรียน เพื่อมาคํานวนเกรด ซึ่งเราจะสามารถเขียนโปรแกรมได้สะดวก และยืดหยุ่นมากขึ้น

Suggestion blogs

Conditional types ใน TypeScript

สวัสดีครับ ในบทความนี้เราจะมาเรียนรู้เรื่อง Conditional types ใน TypeScript ว่าคืออะไร นำไปใช้ประโยชน์ได้อย่างไร

เริ่มต้นใช้งาน IPFS ด้วย Docker

สวัสดีครับ ในบทความนี้ผมจะอธิบายการใช้งาน IPFS ด้วย Docker ซึ่งการใช้งาน IPFS ด้วย Docker นั้นเป็นแนวทางนึงในการใช้งาน IPFS สําหรับใครที่อยากจะติดตั้งบนเครื่องก็สามารถอ่านเพิ่มเติมได้จาก Document ของ IPFS ได้เลยครับ แต่โดยส่วนตัวของผมนั้น ผมชอบที่จะใช้ผ่าน Docker เนื่องจากไม่ต้องติดตั้ง IPFS บนเครื่องของเรา ถ้าใครยังไม่รู้จัก Docker สามารถไปอ่านบนความเก่าๆได้ครับที่นี่ https://thiti.dev/tag/docker

nginx block user ที่เข้าเว็บด้วย ip ของ server หรือ domain อื่นๆ

สวัสดีครับ วันนี้ผมเจอกรณีที่คนเข้าเว็บมาด้วย Domain อื่นๆ ที่ไม่ใช่ของเรา แต่เป็นหน้าเว็บเราเฉยเลย ทําให้ Domain อื่นๆของใครก็ไม่รู้ สวมรอยเป็นเว็บเราได้อย่างเช่นกรณีนี้


Copyright © 2019 - 2025 thiti.dev |  v1.59.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ