Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Địa chỉ của hàm trong C/C++ là gì?

Khái niệm

Mỗi hàm trong chương trình có địa chỉ bộ nhớ riêng. Để lấy địa chỉ hàm, dùng con trỏ hàm và viết tên hàm không có dấu ngoặc đơn.

Mã nguồn C++

#include <iostream>
using namespace std;

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

int main() {
    printf("Địa chỉ main(): %p\n", main);
    printf("Địa chỉ myfunc(): %p\n", myfunc);
    return 0;
}

Kết quả

Địa chỉ main(): 0x40079d
Địa chỉ myfunc(): 0x400787

Địa chỉ sẽ khác nhau mỗi lần chạy do ASLR (Address Space Layout Randomization).