1. โครงสร้างข้อมูลแบบเชิงเส้น
2. โครงสร้างข้อมูลแบบไม่เชิงเส้น
ในการเลือกใช้ฌครงสร้างข้อมูลแบบใดนั้น จะต้องคำนึงถึง
1.โครงสร้างข้อมูลนั้นสามารถสร้างความสัมพันธ์ให้กับข้อมูลชุดนั้น ได้แบบสมบูรณ์ที่สุด
2.โครงสร้างนั้นต้องง่ายต่อการดำเนินการในระบบ
การแทนที่ข้อมูลในหน่วยความจำหลัก
ในการเขียนโปรแกรมคอมคอมพิวเตอร์ จะมีการแทนที่ข้อมูลในหน่วยความจำหลักอยู่2แบบคือ
1. การแทนที่ข้อมูลแบบสแตก
เป็นการแทนที่ของข้อมูลแบบมีการจองพื้นที่แบบคงที่แน่นอนต้องมีการกำเนิดขนาดก่อนใช้งาน และมีข้อเสียคือ เราไม่สามารถปรับขนาดไห้เพิ่มขึ้นหรือลดลงได้ และข้อมูลที่แทนที่จะต้องเป็นข้อมูลชนิดเดี่ยวกัน จะแทนค่าของข้อมูลแบบเป็นแถวลำดับ
2.การแทนที่ข้อมูลแบบไดนามิก
เป็นการแทนที่ข้อมูลแบบไม่ต้องจองพื้นที่ไว้ก่อน ขนาดของเนื้อที่สามารถยืดหยุ่นได้ตามความต้องการของผู้ใช้งาน หน่วยความจำที่ใช้ไปแล้วไม่สามารถส่งคืนเพื่อนำกลับมาใช้ใหม่ได้อีก โครงสร้างข้อมูลที่มีการแทนที่หน่วยความจำหลักแบบไดนามิกคือ ตาชี้ หรือ พอยเตอร์
ขั้นตอนวิธี(Algorithm)
เป็นวิธรการแก้ไขปัญหาต่างๆ อย่างมีระบบมีลำดับ มีขั้นตอนตั้งแต่ต้นจนได้ผลลัพธ์ สามารถเขียนได้หลายแบบ
การแสดงขั้นตอนวิธี เช่น การเขียนด้วยผังงาน (Flowchart) เป็นการใช้สัญลักษณ์บอกขั้นตอนการทำงาน
ภาษาขั้นตอนวิธี ( Algorithm Language) และภาษาธรรมชาติ(Natural Language) เป็นภาษาสำหรับเขียนขั้นตอนวิธี มีรูปแบบสั้น กระชับและรัดกุม
#include < stdio.h >
#include < string.h >
void main()
{
struct Notebook {
char brand[20],generation[20],barcode[15];
int price;
long int waranty;
float camera;
double run;
long int width;
int weight;
char madein[40];
} ;
struct Notebook beauty ;
strcpy(beauty.brand,"HP");
strcpy(beauty.madein,"England");
strcpy(beauty.barcode,"6597763d9i");
strcpy(beauty.generation,"dv 3113tx");
beauty.camera=1.3;
beauty.waranty=15;
beauty. width=15;
beauty. weight=2;
beauty.price=25000;
printf(" brand:%s\n\n",beauty.brand);
printf(" generation:%s\n\n",beauty.generation);
printf(" barcode : %s\n\n",beauty.barcode);
printf(" price:%d\n\n",beauty.price);
printf(" camera:%.1f\n\n",beauty.camera);
printf("width : %d cm.\n\n",beauty. width);
printf("weight : %d km.\n\n",beauty. weight)
printf(" waranty :%d\n\n",beauty.waranty);
printf(" madein:%s\n\n",beauty.madein);
}