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

ที่อยู่ของฟังก์ชันในภาษา C หรือ C++ คืออะไร?

ฟังก์ชันและที่อยู่หน่วยความจำ

ฟังก์ชันเป็นบล็อกโค้ดที่ทำงานเฉพาะเจาะจง ทุกฟังก์ชันมีที่อยู่ในหน่วยความจำ (memory address) เหมือนตัวแปรหรือออบเจ็กต์

เพื่อรับที่อยู่ของฟังก์ชัน ให้ใช้ pointer ชี้ไปที่ชื่อฟังก์ชัน โดยไม่ต้องใส่วงเล็บ

ตัวอย่างโค้ด C++

#include <iostream>
using namespace std;

void myfunc() {
    cout << "This is myfunc";
}

int main(void) {
    printf("address of function main() is :%p\n", main);
    printf("address of function myfunc() is : %p\n", myfunc);
    return 0;
}

ผลลัพธ์

address of function main() is :0x40079d
address of function myfunc() is : 0x400787

คำอธิบาย: ใช้ %p ใน printf เพื่อพิมพ์ที่อยู่แบบ pointer ค่าที่ได้จะเป็นรูปแบบเฮกซาเดซิมอล (hexadecimal) ซึ่งแตกต่างกันไปในแต่ละครั้งที่รันและระบบปฏิบัติการ