[ภาษาซี] การรับข้อมูล (input)

4 Jan 2018,
Share: 

function ที่ใช้ในการรับข้อมูลจากคีย์บอร์ด คือ scanf (scan formatted) รูปแบบการใช้งานคือ

scanf("string_format", address_list);
  • string_format คือ ต่างจาก string format ของ printf ตรงที่ string format ของ scanf() จะอยู่ในรูปแบบของตัวแทนข้อมูลชนิดต่างๆ เช่น %d, %c, $s, %f…
  • address_list คือ เป็นตัวระบุที่อยู่ในหน่วนความจําที่จะใช้ในการเก็บข้อมูลที่รับเข้ามา โดย address list จะต่างจาก data list ของ printf() ตรงที่ data list จะเป็นการระบุถึงข้อมูลโดยตรง ทําให้อ้างถึงตัวแปรนั้นได้โดยตรง แต่ address list จะต้องระบุเป็น address ของตัวแปร โดยใส่เครื่องหมาย & (ampersand) หน้าตัวแปร

ตัวอย่าง

#include <stdio.h>

main(){
    int x = 3;
    printf("Value x is: %d", x);
    scanf("%d", &x);
    printf("New value x is: %d", x);
}

การใช้ scanf() รับข้อมูลที่เป็น string เราจะไม่ใส่ & ด้านหน้าตัวแปร เนื่องจากภาษาซีกําหนดให้ชื่อตัวแปรชนิด string (ซึ่งเป็น array ของข้อมูลชนิด char) เป็นการอ้างถึงที่อยู่ของตัวแปรนั้นๆอยู่แล้ว

Suggestion blogs

ESP8266 ควบคุม i/o ผ่าน web (Access point)

ในบทความนี้ผมจะอธิบายถึงวิธีการทําให้ ESP8266 เป็น Access point ให้อุปกรณ์อุปกรณ์อื่นๆ ที่เชื่อมต่อ wifi ได้ เช่น computer, smart phone ฯลฯ มาเชื่อมต่อกับ SEP8266 แล้วควบคุม i/o ปิด/เปิด LED ผ่านเว็บ ด้วยวิธีส่งข้อมูลผ่าน HTTP_GET เช่น

swap memory ใน ubuntu

swap คือ file ประเภทหนึ่งที่ทําหน้าที่คลาย ram โดยจะต่างจาก ram ตรงที่ เป็นไฟล์ที่ถูกเขียนบน HDD ซึ่งจะมีความเร็วน้อยกว่า ram ในกรณีที่ ram ไม่พอ เราสามารถสร้าง swap มาใช้เป็น ram สํารองได้

IDN กับการจดโดเมนภาษาไทย

IDN หรือเรียกเต็มๆว่า Internationalized Domain Name คือ ชื่อโดเมนที่สามารถประกอบด้วยอักขระ (character) อื่น ๆ ที่นอกเหนือไปจากรหัส ASCII ได้ ซึ่งเดิมทีการตั้งชื่อโดเมนจะถูกจำกัดอยู่เพียงแค่การใช้ตัวอักษรภาษาอังกฤษ (อักษรโรมัน) A-Z, ตัวเลขอารบิก 0-9 และเครื่องหมายยัติภังค์ (-) เท่านั้น เนื่องจากข้อจำกัดของระบบชื่อโดเมน (domain name system - DNS) ที่ใช้อยู่แต่เดิม


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

Build with ❤️ and Astro.

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