การประกาศตัวแปร (Declarations)
ตัวแปรประเภท global ควรจะเริ่มต้นที่ column 1 ตัวแปรชนิด external ต้องเริ่มต้นด้วย keyword extern ถ้าตัวแปรชนิด extern เป็น array ที่มีขนาดแน่นอน ต้องกำหนดขนาดของ external array นั้นทุกครั้งไป นอกเสียจะกว่าขนาดนั้นถูกกำหนดไว้เรียบร้อยแล้วในตัวมันเอง (เช่น read-only character array ที่เป็น null-terminated) การกำหนดขนาดไว้ทุกครั้งเช่นนี้ เป็นประโยชน์ต่อผู้ที่อ่านโปรแกรมที่คนอื่นเขียนได้ง่ายขึ้น
ตัวกำกับชนิดตัวแปรประเภทหนึ่ง คือ pointer (สัญลักษณ์ `*') ควรจะเขียนติดกับชื่อตัวแปร ไม่ใช่ประเภท (type) ของตัวแปลที่หลายๆ คนทำกัน กล่าวคือ
char *s, *t;
ไม่ใช่เป็น
char* s, t, u;
เพราะแบบหลังนั้นผิด เนื่องจากว่า t และ u ไม่ได้เป็น char pointers
การประกาศตัวแปรที่ไม่เกี่ยวข้องกัน แม้ว่าจะเป็นตัวแปรชนิดเดียวกัน ควรจะประกาศแยกกันคนละบรรทัด โดยมี comment กำกับหน้าที่ของ object แต่ละตัวที่ประกาศ ยกเว้น #define เพราะส่วนมากชื่อก็พอจะสื่อความหมายให้เข้าใจว่า constant แต่ละตัวคืออะไร ชื่อตัวแปร ค่าของตัวแปรและ comment ควรจะจัดเรียงให้ตรงกัน (ควรใช้ tab แทน blank หรือ space) เช่น
/* defines for string */
#define SIZE 80
#define OCCUR 10
#define MAX_S 100
/* defines for boat.type */
#define KETCH (1)
#define YAWL (2)
#define SLOOP (3)
#define SQRIG (4)
#define MOTOR (5)
สำหรับ structure และ union template ที่ใช้ในการประกาศรายละเอียดควรจะจัด ให้แต่ละ element อยู่คนละบรรทัด โดยมี comment กำกับ วงเล็บปีกาควรจะวางในตำแหน่ง ที่เหมาะสม (จะใช้ K&R style หรือ ไว้ที่ column 1 ก็ได้ แต่ต้องให้เหมือนกันหมดทั้งโปรแกรม) เช่น
struct mydef
{
int length; /* column 1 */
int occurs; /* Size of struct */
char code; /* data code */
};
#define ข้างต้นมักจะวางไว้ใต้ struct ที่เกี่ยวข้อง ในกรณีนี้คือ struct mydef หรือจะใส่ไว้ภายใน {...} ของ struct mydef ก็ได้ ในบางกรณี enum อาจจะมีประโยชน์กว่า #define ก็ได้ เช่น
enum bt { KETCH=1, YAWL, SLOOP, SQRIG, MOTOR };
struct boat
{
int wllength; /* water line length in meters */
enum bt type; /* what kind of boat */
long sailarea; /* sail area in square mm */
};
enum ct {SECOND = 1, MIN, HOUR};
struct mydef
{
int length; /* size of struct */
enum ct type; /* freq of occurrence */
long code; /* data code */
};
ถ้าค่าตัวแปรใดที่จำเป็นต้อง initialize เพราะค่าเริ่มต้นมีความสำคัญมาก จะต้อง initialize ต่างหาก หรืออย่างน้อยที่สุดก็ต้องใส่ comment เพื่อบอกว่าค่า default initialization (ใน compiler บางตัวจะ set เป็นศูนย์) ถูกนำมาใช้เป็นค่าเริ่มต้นในกรณีดังกล่าว ข้อห้ามก็คือ struct ที่มี { } เปล่าๆ ไม่ควรจะใช้ ค่าที่ใช้ในการ initialize structure ควรจะจัดเป็นชุดให้ตรงกับ definition ถ้าค่าใดที่เป็น constant ชนิด long ก็ควรจะประกาศว่าเป็น long โดยใช้ L (ตัวใหญ่) เพราะถ้าใช้ตัวเล็กแล้ว “2l” จะมองดูเหมือน “21” (ยี่สิบเอ็ด)
int x = 5;
char *msg = “hello world”;
struct mydef array[] =
{
{20, MIN, 6000000L},
{8, SECOND, 0L},
{0},
};
ในการเก็บค่าตัวแปรที่ประกาศใช้ในโปรแกรมลงใน file ซึ่งเป็นส่วนหนึ่งของโปรแกรม ขนาดใหญ่ (ประกอบด้วยหลาย files), function และตัวแปรที่ใช้มากควรจะประกาศเป็น static เพื่อให้ scope นั้นอยู่แค่ local file ตัวแปรที่ต้อง share กับ file อื่นๆ ควรจะประกาศเป็น extern และให้มีจำนวนน้อยๆ ต้องใส่ comment กำกับใช้ชัดเจนว่าใช้ร่วมกับ file อื่น โดยใน comment นั้นควรจะใส่ชื่อ file อื่นๆ ด้วย (เพื่อสะดวกในการ cross reference)
ถ้า debugger ที่ใช้ไม่แสดงค่า static variables/objects ในขณะที่ทำการ debug ให้สร้างนิยามใหม่คือ STATIC โดยใช้ #define STATIC เป็นค่าอะไรก็ได้ตามต้องการ ระหว่างการ debug
ชนิดของตัวแปรที่มีความสำคัญที่สุด ควรจะ highlight ด้วยการใช้ typedef แม้ว่าค่านั้นจะเป็นแค่ integer เพราะชื่อที่ unique เหล่านี้ทำให้โปรแกรมอ่านง่าย (โดยที่มี typedef ของ integer เป็นจำนวนไม่มาก) structure อาจจะทำเป็น typedef ก็ได้เช่นกันถ้าต้องการเน้น โดยมากจะนิยมใช้ชื่อเดียวกัน เช่น
typedef struct something
{
int first;
char *name, *sp_alias;
} something;
ชนิดของค่าที่ return โดย function หนึ่งๆ ควรจะประกาศให้ชัดเจน (แม้ว่าจะเป็น int ก็ตาม) ถ้า compiler supports prototype ก็เขียน prototype ด้วย ข้อผิดพลาดที่พบบ่อยๆ ก็คือ การละเลยการประกาศชนิดของค่าที่ return จาก external math functions ซึ่งมักจะเป็น double Compiler ส่วนมากจะอนุมานว่า function ดังกล่าว return ค่า int (ในกรณีที่ไม่ประกาศว่าเป็น double) ซึ่งทำให้ค่าที่ return ถูก convert เป็นค่าของตัวแปรแบบ floating ที่ผิดความหมาย
ตัวแปรประเภท global ควรจะเริ่มต้นที่ column 1 ตัวแปรชนิด external ต้องเริ่มต้นด้วย keyword extern ถ้าตัวแปรชนิด extern เป็น array ที่มีขนาดแน่นอน ต้องกำหนดขนาดของ external array นั้นทุกครั้งไป นอกเสียจะกว่าขนาดนั้นถูกกำหนดไว้เรียบร้อยแล้วในตัวมันเอง (เช่น read-only character array ที่เป็น null-terminated) การกำหนดขนาดไว้ทุกครั้งเช่นนี้ เป็นประโยชน์ต่อผู้ที่อ่านโปรแกรมที่คนอื่นเขียนได้ง่ายขึ้น
ตัวกำกับชนิดตัวแปรประเภทหนึ่ง คือ pointer (สัญลักษณ์ `*') ควรจะเขียนติดกับชื่อตัวแปร ไม่ใช่ประเภท (type) ของตัวแปลที่หลายๆ คนทำกัน กล่าวคือ
char *s, *t;
ไม่ใช่เป็น
char* s, t, u;
เพราะแบบหลังนั้นผิด เนื่องจากว่า t และ u ไม่ได้เป็น char pointers
การประกาศตัวแปรที่ไม่เกี่ยวข้องกัน แม้ว่าจะเป็นตัวแปรชนิดเดียวกัน ควรจะประกาศแยกกันคนละบรรทัด โดยมี comment กำกับหน้าที่ของ object แต่ละตัวที่ประกาศ ยกเว้น #define เพราะส่วนมากชื่อก็พอจะสื่อความหมายให้เข้าใจว่า constant แต่ละตัวคืออะไร ชื่อตัวแปร ค่าของตัวแปรและ comment ควรจะจัดเรียงให้ตรงกัน (ควรใช้ tab แทน blank หรือ space) เช่น
/* defines for string */
#define SIZE 80
#define OCCUR 10
#define MAX_S 100
/* defines for boat.type */
#define KETCH (1)
#define YAWL (2)
#define SLOOP (3)
#define SQRIG (4)
#define MOTOR (5)
สำหรับ structure และ union template ที่ใช้ในการประกาศรายละเอียดควรจะจัด ให้แต่ละ element อยู่คนละบรรทัด โดยมี comment กำกับ วงเล็บปีกาควรจะวางในตำแหน่ง ที่เหมาะสม (จะใช้ K&R style หรือ ไว้ที่ column 1 ก็ได้ แต่ต้องให้เหมือนกันหมดทั้งโปรแกรม) เช่น
struct mydef
{
int length; /* column 1 */
int occurs; /* Size of struct */
char code; /* data code */
};
#define ข้างต้นมักจะวางไว้ใต้ struct ที่เกี่ยวข้อง ในกรณีนี้คือ struct mydef หรือจะใส่ไว้ภายใน {...} ของ struct mydef ก็ได้ ในบางกรณี enum อาจจะมีประโยชน์กว่า #define ก็ได้ เช่น
enum bt { KETCH=1, YAWL, SLOOP, SQRIG, MOTOR };
struct boat
{
int wllength; /* water line length in meters */
enum bt type; /* what kind of boat */
long sailarea; /* sail area in square mm */
};
enum ct {SECOND = 1, MIN, HOUR};
struct mydef
{
int length; /* size of struct */
enum ct type; /* freq of occurrence */
long code; /* data code */
};
ถ้าค่าตัวแปรใดที่จำเป็นต้อง initialize เพราะค่าเริ่มต้นมีความสำคัญมาก จะต้อง initialize ต่างหาก หรืออย่างน้อยที่สุดก็ต้องใส่ comment เพื่อบอกว่าค่า default initialization (ใน compiler บางตัวจะ set เป็นศูนย์) ถูกนำมาใช้เป็นค่าเริ่มต้นในกรณีดังกล่าว ข้อห้ามก็คือ struct ที่มี { } เปล่าๆ ไม่ควรจะใช้ ค่าที่ใช้ในการ initialize structure ควรจะจัดเป็นชุดให้ตรงกับ definition ถ้าค่าใดที่เป็น constant ชนิด long ก็ควรจะประกาศว่าเป็น long โดยใช้ L (ตัวใหญ่) เพราะถ้าใช้ตัวเล็กแล้ว “2l” จะมองดูเหมือน “21” (ยี่สิบเอ็ด)
int x = 5;
char *msg = “hello world”;
struct mydef array[] =
{
{20, MIN, 6000000L},
{8, SECOND, 0L},
{0},
};
ในการเก็บค่าตัวแปรที่ประกาศใช้ในโปรแกรมลงใน file ซึ่งเป็นส่วนหนึ่งของโปรแกรม ขนาดใหญ่ (ประกอบด้วยหลาย files), function และตัวแปรที่ใช้มากควรจะประกาศเป็น static เพื่อให้ scope นั้นอยู่แค่ local file ตัวแปรที่ต้อง share กับ file อื่นๆ ควรจะประกาศเป็น extern และให้มีจำนวนน้อยๆ ต้องใส่ comment กำกับใช้ชัดเจนว่าใช้ร่วมกับ file อื่น โดยใน comment นั้นควรจะใส่ชื่อ file อื่นๆ ด้วย (เพื่อสะดวกในการ cross reference)
ถ้า debugger ที่ใช้ไม่แสดงค่า static variables/objects ในขณะที่ทำการ debug ให้สร้างนิยามใหม่คือ STATIC โดยใช้ #define STATIC เป็นค่าอะไรก็ได้ตามต้องการ ระหว่างการ debug
ชนิดของตัวแปรที่มีความสำคัญที่สุด ควรจะ highlight ด้วยการใช้ typedef แม้ว่าค่านั้นจะเป็นแค่ integer เพราะชื่อที่ unique เหล่านี้ทำให้โปรแกรมอ่านง่าย (โดยที่มี typedef ของ integer เป็นจำนวนไม่มาก) structure อาจจะทำเป็น typedef ก็ได้เช่นกันถ้าต้องการเน้น โดยมากจะนิยมใช้ชื่อเดียวกัน เช่น
typedef struct something
{
int first;
char *name, *sp_alias;
} something;
ชนิดของค่าที่ return โดย function หนึ่งๆ ควรจะประกาศให้ชัดเจน (แม้ว่าจะเป็น int ก็ตาม) ถ้า compiler supports prototype ก็เขียน prototype ด้วย ข้อผิดพลาดที่พบบ่อยๆ ก็คือ การละเลยการประกาศชนิดของค่าที่ return จาก external math functions ซึ่งมักจะเป็น double Compiler ส่วนมากจะอนุมานว่า function ดังกล่าว return ค่า int (ในกรณีที่ไม่ประกาศว่าเป็น double) ซึ่งทำให้ค่าที่ return ถูก convert เป็นค่าของตัวแปรแบบ floating ที่ผิดความหมาย
หน้าที่ 5 - คำอธิบายคำสั่งต่างๆในภาษา C
คำอธิบายคำสั่งต่างๆในภาษา C
int main ( ) //<----------------------------------------- จุดเริ่มต้นโปรแกรม
{ //<------------------------------------------------------เริ่มต้นขอบเขต การทำงาน
int i = 10; //<--------------------------- ประกาศตัวแปร i เป็น Interger และให้ค่า 10
printf( "Value in i = %in", i ); //<------------------- พิมพ์ค่า i
return 0; //<------------------------------------------ จบโปรแกรมให้ค่าจบโปรแกรม 0
} //<---------------------------------------------------- สิ้นสุดขอบเขต การทำงาน
Value in i = 10
นี่คือตัวอย่างโปรแกรมภาษา C ทำหน้าที่ให้ค่าแก่ตัวแปรและ พิมพ์ค่าที่อยู่ในตัวแปรออกมา ใครที่ไม่เคยเขียนโปรแกรมมาก่อน ก็จำรูปแบบนี้ไว้ว่าภาษา C เป็นอย่างไร ที่สำคัญๆมี
printf( "Value in i = %in", i ); //<---------------------------function พิมพ์ผลลัพท์
ฟังค์ชั่นนี้ใช้บ่อยมาก วิธีการใช้ก็ง่ายมีรูปแบบการใช้งานที่ค่อนข้างจะเข้าใจ ดูที่เครื่องหมาย % จะมีให้เลือกหลากหลายรูปแบบ รหัสที่เราเห็นท้ายๆ n เมื่อพิมพ์ค่า
// MAIN.CPP
int main ( )
{
int i = 10; //<------ ประกาศตัวแปร i เป็น Interger และให้ค่า 10
long lvalue = 20; //<------ ประกาศตัวแปร lvalue เป็น long และให้ค่า 20
float fvalue = 30.0; //<------ ประกาศตัวแปร fvalue เป็น float และให้ค่า 30.0
printf( "Value in i = %in", i ); //<---------------%i พิมพ์ตัวแปรในรูปแบบ Integer
printf( "Value in lvalue = %in", lvalue );
printf( "Value in fvalue = %fn", fvalue ); //<-----%f พิมพ์ตัวแปรในรูปแบบ float
return 0;
}
ออกมาแล้วให้ ขึ้นบรรทัดใหม่ และต่อไปเป็นการใช้ตัวแปรแบบต่างๆ สังเกตได้จากโปรแกรมต่อไปนี้ Value in lvalue = 20
นอกจากนั้นยังมีการพิมพ์ข้อความ ตัวอักษร ถ้าไม่เข้าใจ เลื่อน cursor ไปที่ตำแหน่งนั้นและกด Ctrl+F1 นะครับ จะมี Help ให้ดู ดูตัวอย่างต่อไป
// MAIN.CPP
int main ( )
{
int i = 10; //<----------------------------ประกาศตัวแปร i เป็น Interger และให้ค่า 10
long lvalue = 20; //<------------------ประกาศตัวแปร lvalue เป็น long และให้ค่า 20
float fvalue = 30.0; //<------------ประกาศตัวแปร fvalue เป็น float และให้ค่า 30.0
char ch = 'A'; //<---------------------------------- ตัวแปร character ให้ค่าอักษร 'A'
char data[80] = "Sawasdee"; //<------------ ตัวแปร array character ให้ค่า ข้อความ Sawasdee
printf( "Value in i = %in", i );
printf( "Value in lvalue = %in", lvalue );
printf( "Value in fvalue = %fn", fvalue );
printf( "Value in ch = %cn", ch ); //<-----------พิมพ์ค่าใน ch รูปแบบ charecter
printf( "Value in data = %sn", data ); //<---------พิมพ์ค่าใน data รูปแบบ string
return 0;
}
{
int i = 10; //<----------------------------ประกาศตัวแปร i เป็น Interger และให้ค่า 10
long lvalue = 20; //<------------------ประกาศตัวแปร lvalue เป็น long และให้ค่า 20
float fvalue = 30.0; //<-------------ประกาศตัวแปร fvalue เป็น float และให้ค่า 30.0
char ch = 'A'; //<------------------------------------ ตัวแปร character ให้ค่าอักษร 'A'
char data[80] = "Sawasdee"; //<------------ ตัวแปร array character ให้ค่า ข้อความ Sawasdee
printf( "Value in i = %in", i );
printf( "Value in lvalue = %in", lvalue );
printf( "Value in fvalue = %fn", fvalue );
printf( "Value in ch = %cn", ch ); //<---------- พิมพ์ค่าใน ch รูปแบบ charecter
int i = 10; //<----------------------------ประกาศตัวแปร i เป็น Interger และให้ค่า 10
long lvalue = 20; //<------------------ประกาศตัวแปร lvalue เป็น long และให้ค่า 20
float fvalue = 30.0; //<-------------ประกาศตัวแปร fvalue เป็น float และให้ค่า 30.0
char ch = 'A'; //<------------------------------------ตัวแปร character ให้ค่าอักษร 'A'
char data[80] = "Sawasdee"; //<------------ ตัวแปร array character ให้ค่าข้อความ Sawasdee
printf( "Value in i = %in", i );
printf( "Value in lvalue = %in", lvalue );
printf( "Value in fvalue = %fn", fvalue );
printf( "Value in ch = %cn", ch ); //<-----------พิมพ์ค่าใน ch รูปแบบ charecter
printf( "Value in data = %sn", data ); //<--------พิมพ์ค่าใน data รูปแบบ string
return 0;
}
Value in i = 10
Value in lvalue = 20
Value in fvalue = 30.000000
Value in ch = A
สังเกตให้ดีนะว่าตัวแปร ch และ data[80] มีการให้ค่าที่แตกต่างกันแบบนี้
char ch = 'A'; //<--------------------------------------ตัวแปร character ให้ค่าอักษร A
char data[80] = "Sawasdee"; //<----ตัวแปร array character ให้ค่าข้อความ Hello
และไม่สามารถให้ค่า array charector แบบนี้ได้
char data[80];
data = "Sawasdee"; //<---- ให้ค่าข้อความ Sawasdeeผิด ต้องใช้ function ในการให้ค่าตัวแปร array cahrectorดังตัวอย่างต่อไปนี้ Value in data = Sawasdee
// MAIN.CPP
int main ( )
{
char data[80]"; //<---- ตัวแปร array charactor
strcpy( data, "Sawasdee" ); //<------- function copy ข้อความไปที่ตัวแปร array character
printf( "Value in data = %sn", data ); //<--- พิมพ์ค่าใน data รูปแบบ string
return 0;
}
Value in data = Sawasdee
และยังมี function ให้ใช้งานอีกเยอะเลื่อน cursor ไปที่ข้อความ string.h กด Ctrl+F1 จะเห็นว่ามีให้ใช้มากมาย
int main ( ) //<----------------------------------------- จุดเริ่มต้นโปรแกรม
{ //<------------------------------------------------------เริ่มต้นขอบเขต การทำงาน
int i = 10; //<--------------------------- ประกาศตัวแปร i เป็น Interger และให้ค่า 10
printf( "Value in i = %in", i ); //<------------------- พิมพ์ค่า i
return 0; //<------------------------------------------ จบโปรแกรมให้ค่าจบโปรแกรม 0
} //<---------------------------------------------------- สิ้นสุดขอบเขต การทำงาน
Value in i = 10
นี่คือตัวอย่างโปรแกรมภาษา C ทำหน้าที่ให้ค่าแก่ตัวแปรและ พิมพ์ค่าที่อยู่ในตัวแปรออกมา ใครที่ไม่เคยเขียนโปรแกรมมาก่อน ก็จำรูปแบบนี้ไว้ว่าภาษา C เป็นอย่างไร ที่สำคัญๆมี
printf( "Value in i = %in", i ); //<---------------------------function พิมพ์ผลลัพท์
ฟังค์ชั่นนี้ใช้บ่อยมาก วิธีการใช้ก็ง่ายมีรูปแบบการใช้งานที่ค่อนข้างจะเข้าใจ ดูที่เครื่องหมาย % จะมีให้เลือกหลากหลายรูปแบบ รหัสที่เราเห็นท้ายๆ n เมื่อพิมพ์ค่า
// MAIN.CPP
int main ( )
{
int i = 10; //<------ ประกาศตัวแปร i เป็น Interger และให้ค่า 10
long lvalue = 20; //<------ ประกาศตัวแปร lvalue เป็น long และให้ค่า 20
float fvalue = 30.0; //<------ ประกาศตัวแปร fvalue เป็น float และให้ค่า 30.0
printf( "Value in i = %in", i ); //<---------------%i พิมพ์ตัวแปรในรูปแบบ Integer
printf( "Value in lvalue = %in", lvalue );
printf( "Value in fvalue = %fn", fvalue ); //<-----%f พิมพ์ตัวแปรในรูปแบบ float
return 0;
}
ออกมาแล้วให้ ขึ้นบรรทัดใหม่ และต่อไปเป็นการใช้ตัวแปรแบบต่างๆ สังเกตได้จากโปรแกรมต่อไปนี้ Value in lvalue = 20
นอกจากนั้นยังมีการพิมพ์ข้อความ ตัวอักษร ถ้าไม่เข้าใจ เลื่อน cursor ไปที่ตำแหน่งนั้นและกด Ctrl+F1 นะครับ จะมี Help ให้ดู ดูตัวอย่างต่อไป
// MAIN.CPP
int main ( )
{
int i = 10; //<----------------------------ประกาศตัวแปร i เป็น Interger และให้ค่า 10
long lvalue = 20; //<------------------ประกาศตัวแปร lvalue เป็น long และให้ค่า 20
float fvalue = 30.0; //<------------ประกาศตัวแปร fvalue เป็น float และให้ค่า 30.0
char ch = 'A'; //<---------------------------------- ตัวแปร character ให้ค่าอักษร 'A'
char data[80] = "Sawasdee"; //<------------ ตัวแปร array character ให้ค่า ข้อความ Sawasdee
printf( "Value in i = %in", i );
printf( "Value in lvalue = %in", lvalue );
printf( "Value in fvalue = %fn", fvalue );
printf( "Value in ch = %cn", ch ); //<-----------พิมพ์ค่าใน ch รูปแบบ charecter
printf( "Value in data = %sn", data ); //<---------พิมพ์ค่าใน data รูปแบบ string
return 0;
}
{
int i = 10; //<----------------------------ประกาศตัวแปร i เป็น Interger และให้ค่า 10
long lvalue = 20; //<------------------ประกาศตัวแปร lvalue เป็น long และให้ค่า 20
float fvalue = 30.0; //<-------------ประกาศตัวแปร fvalue เป็น float และให้ค่า 30.0
char ch = 'A'; //<------------------------------------ ตัวแปร character ให้ค่าอักษร 'A'
char data[80] = "Sawasdee"; //<------------ ตัวแปร array character ให้ค่า ข้อความ Sawasdee
printf( "Value in i = %in", i );
printf( "Value in lvalue = %in", lvalue );
printf( "Value in fvalue = %fn", fvalue );
printf( "Value in ch = %cn", ch ); //<---------- พิมพ์ค่าใน ch รูปแบบ charecter
int i = 10; //<----------------------------ประกาศตัวแปร i เป็น Interger และให้ค่า 10
long lvalue = 20; //<------------------ประกาศตัวแปร lvalue เป็น long และให้ค่า 20
float fvalue = 30.0; //<-------------ประกาศตัวแปร fvalue เป็น float และให้ค่า 30.0
char ch = 'A'; //<------------------------------------ตัวแปร character ให้ค่าอักษร 'A'
char data[80] = "Sawasdee"; //<------------ ตัวแปร array character ให้ค่าข้อความ Sawasdee
printf( "Value in i = %in", i );
printf( "Value in lvalue = %in", lvalue );
printf( "Value in fvalue = %fn", fvalue );
printf( "Value in ch = %cn", ch ); //<-----------พิมพ์ค่าใน ch รูปแบบ charecter
printf( "Value in data = %sn", data ); //<--------พิมพ์ค่าใน data รูปแบบ string
return 0;
}
Value in i = 10
Value in lvalue = 20
Value in fvalue = 30.000000
Value in ch = A
สังเกตให้ดีนะว่าตัวแปร ch และ data[80] มีการให้ค่าที่แตกต่างกันแบบนี้
char ch = 'A'; //<--------------------------------------ตัวแปร character ให้ค่าอักษร A
char data[80] = "Sawasdee"; //<----ตัวแปร array character ให้ค่าข้อความ Hello
และไม่สามารถให้ค่า array charector แบบนี้ได้
char data[80];
data = "Sawasdee"; //<---- ให้ค่าข้อความ Sawasdeeผิด ต้องใช้ function ในการให้ค่าตัวแปร array cahrectorดังตัวอย่างต่อไปนี้ Value in data = Sawasdee
// MAIN.CPP
int main ( )
{
char data[80]"; //<---- ตัวแปร array charactor
strcpy( data, "Sawasdee" ); //<------- function copy ข้อความไปที่ตัวแปร array character
printf( "Value in data = %sn", data ); //<--- พิมพ์ค่าใน data รูปแบบ string
return 0;
}
Value in data = Sawasdee
และยังมี function ให้ใช้งานอีกเยอะเลื่อน cursor ไปที่ข้อความ string.h กด Ctrl+F1 จะเห็นว่ามีให้ใช้มากมาย
ไม่มีความคิดเห็น:
แสดงความคิดเห็น