Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

แมโคร (Macros) ในภาษาโปรแกรม C คืออะไร


การแทนที่แมโคร (Macro Substitution) เป็นกลไกที่ให้การแทนที่สตริง สามารถทำได้ผ่าน "#define"

ใช้แทนที่ส่วนแรกด้วยส่วนที่สองของนิยามแมโคร ก่อนการทำงานของโปรแกรม

วัตถุแรกอาจเป็นประเภทฟังก์ชันหรือวัตถุธรรมดา

ไวยากรณ์

ไวยากรณ์สำหรับแมโคร:

#define first_part second_part

โปรแกรม

ในโปรแกรม สำหรับทุกครั้งที่พบ first_part จะถูกแทนที่ด้วย second_part ทั่วทั้งโค้ด

#include <stdio.h>
#define square(a) a*a

int main() {
    int b, c;
    printf("enter b element:");
    scanf("%d", &b);
    c = square(b); // แทนที่ c = b*b ก่อนการทำงานของโปรแกรม
    printf("%d", c);
    return 0;
}

ผลลัพธ์

จะได้ผลลัพธ์ดังนี้:

enter b element: 4
16

พิจารณาอีกโปรแกรมหนึ่งที่อธิบายการทำงานของแมโคร:

#include <stdio.h>
#define equation (a*b)+c

int main() {
    int a, b, c, d;
    printf("enter a,b,c elements:");
    scanf("%d %d %d", &a, &b, &c);
    d = equation; // แทนที่ d = (a*b)+c ก่อนการทำงานของโปรแกรม
    printf("%d", d);
    return 0;
}

ผลลัพธ์

จะได้ผลลัพธ์ดังนี้:

enter a,b,c elements: 4 7 9
37