Function prototype
ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ನಲ್ಲಿ, ಫಂಕ್ಷನ್ ಮೂಲಮಾದರಿ ಅಥವಾ ಫಂಕ್ಷನ್ ಇಂಟರ್ಫೇಸ್ ಎಂಬುದು ಫಂಕ್ಷನ್ ನ ಹೆಸರು ಮತ್ತು ಪ್ರಕಾರದ ಸಹಿಯನ್ನು (ಅರಿಟಿ, ಡೇಟಾ ಪ್ರಕಾರದ ನಿಯತಾಂಕಗಳು, ಮತ್ತು ರಿಟರ್ನ್ ಪ್ರಕಾರ) ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಫಂಕ್ಷನ್ ನ ಘೋಷಣೆಯಾಗಿದೆ, ಆದರೆ ಫಂಕ್ಷನ್ ದೇಹವನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ. ಕಾರ್ಯದ ವ್ಯಾಖ್ಯಾನವು ಕಾರ್ಯವು ಏನು ಮಾಡುತ್ತದೆ ಎಂಬುದನ್ನು ("ಅನುಷ್ಠಾನ") ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆಯಾದರೂ, ಕಾರ್ಯದ ಮೂಲಮಾದರಿಯು ಕೇವಲ ಅದರ ಅಂತರಸಂಪರ್ಕವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ, ಅಂದರೆ. ಯಾವ ಡೇಟಾ ಪ್ರಕಾರಗಳು ಒಳಗೆ ಹೋಗುತ್ತವೆ ಮತ್ತು ಅದರಿಂದ ಹೊರಬರುತ್ತವೆ. "ಫಂಕ್ಷನ್ ಮೂಲಮಾದರಿ" ಎಂಬ ಪದವನ್ನು ವಿಶೇಷವಾಗಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಾದ ಸಿ ಮತ್ತು ಸಿ + + ನ ಸಂದರ್ಭದಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ, ಅಲ್ಲಿ ಹೆಡರ್ ಫೈಲ್ಗಳಲ್ಲಿ ಕಾರ್ಯಗಳ ಘೋಷಣೆಗಳನ್ನು ಮುಂದಕ್ಕೆ ಇರಿಸುವುದರಿಂದ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಅನುವಾದ ಘಟಕಗಳಾಗಿ ವಿಂಗಡಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಅಂದರೆ. ಕಂಪೈಲರ್ ಪ್ರತ್ಯೇಕವಾಗಿ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ಗಳಾಗಿ ಭಾಷಾಂತರಿಸಬಹುದಾದ ಭಾಗಗಳಾಗಿ, ಲಿಂಕರ್ನಿಂದ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಅಥವಾ ಲೈಬ್ರರಿಯಾಗಿ ಸಂಯೋಜಿಸಲ್ಪಡುತ್ತದೆ. ಫಂಕ್ಷನ್ ಘೋಷಣೆಯು ಫಂಕ್ಷನ್ ವ್ಯಾಖ್ಯಾನಕ್ಕೆ ಮುಂಚಿತವಾಗಿ, ಇತರ ಸಂಬಂಧಿತ ಗುಣಲಕ್ಷಣಗಳೊಂದಿಗೆ ಹೆಸರು, ರಿಟರ್ನ್ ಪ್ರಕಾರ ಮತ್ತು ಶೇಖರಣಾ ವರ್ಗದ ವಿವರಗಳನ್ನು ನೀಡುತ್ತದೆ. ಒಂದು ಮೂಲಮಾದರಿಯಲ್ಲಿ, ನಿಯತಾಂಕ ಹೆಸರುಗಳು ಐಚ್ಛಿಕವಾಗಿರುತ್ತವೆ (ಮತ್ತು ಸಿ/ಸಿ + + ನಲ್ಲಿ ಕಾರ್ಯ ಮೂಲಮಾದರಿಯ ವ್ಯಾಪ್ತಿಯನ್ನು ಹೊಂದಿರುತ್ತವೆ, ಅಂದರೆ ಅವುಗಳ ವ್ಯಾಪ್ತಿಯು ಮೂಲಮಾದರಿಯ ಕೊನೆಯಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ), ಆದಾಗ್ಯೂ, ಎಲ್ಲಾ ಮಾರ್ಪಾಡುಗಳೊಂದಿಗೆ ಪ್ರಕಾರವು ಅಗತ್ಯವಾಗಿರುತ್ತದೆ (ಉದಾಹರಣೆಗೆ. ಇದು ಪಾಯಿಂಟರ್ ಆಗಿದ್ದರೆ ಅಥವಾ ನಿಯತಾಂಕಕ್ಕೆ ಉಲ್ಲೇಖವಾಗಿದ್ದರೆ) ಮಾತ್ರ ಹೊರತುಪಡಿಸಿ. ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ನಲ್ಲಿ, ಇಂಟರ್ಫೇಸ್ಗಳು ಮತ್ತು ಅಮೂರ್ತ ವಿಧಾನಗಳು ಒಂದೇ ಉದ್ದೇಶವನ್ನು ಪೂರೈಸುತ್ತವೆ. ಉದಾಹರಣೆ ಈ ಕೆಳಗಿನ ಕಾರ್ಯದ ಮೂಲಮಾದರಿಯನ್ನು ಪರಿಗಣಿಸಿಃ ಶೂನ್ಯ ಮೊತ್ತ (ಪೂರ್ಣಾಂಕ a, ಪೂರ್ಣಾಂಕ b); ಅಥವಾ ಶೂನ್ಯ ಮೊತ್ತ (ಪೂರ್ಣಾಂಕ, ಪೂರ್ಣಾಂಕ); ಅಥವಾ ಸ್ವಯಂ ಮೊತ್ತ (ಪೂರ್ಣಾಂಕ, ಪೂರ್ಣಾಂಕ)-> ಶೂನ್ಯ;// C + + ಕಾರ್ಯದ ಮೂಲಮಾದರಿಗಳು ಮಾತ್ರ ಕಾರ್ಯದ ಸಹಿ, ಕಾರ್ಯದ ಹೆಸರು, ರಿಟರ್ನ್ ಪ್ರಕಾರ ಮತ್ತು ಪ್ರವೇಶ ನಿರ್ದಿಷ್ಟಕವನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ ಕಾರ್ಯದ ಹೆಸರು "ಮೊತ್ತ". ಕಾರ್ಯದ ಸಹಿಯು ನಿಯತಾಂಕಗಳ ಸಂಖ್ಯೆ ಮತ್ತು ಅವುಗಳ ಪ್ರಕಾರಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಹಿಂದಿರುಗುವ ಪ್ರಕಾರವು "ಶೂನ್ಯವಾಗಿದೆ". ಇದರರ್ಥ ಕಾರ್ಯವು ಯಾವುದೇ ಮೌಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿಸುವುದಿಲ್ಲ. ಮೊದಲ ಉದಾಹರಣೆಯಲ್ಲಿರುವ ನಿಯತಾಂಕಗಳ ಹೆಸರುಗಳು ಐಚ್ಛಿಕವಾಗಿವೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಉಪಯೋಗಗಳು ಸಿ ಯ ಆರಂಭಿಕ ಆವೃತ್ತಿಗಳಲ್ಲಿ, ಒಂದು ಕಾರ್ಯವನ್ನು ಈ ಹಿಂದೆ ಘೋಷಿಸದಿದ್ದರೆ ಮತ್ತು ಅದರ ಹೆಸರು ಎಡ ಆವರಣದ ನಂತರ ಅಭಿವ್ಯಕ್ತಿಯಲ್ಲಿ ಸಂಭವಿಸಿದರೆ, ಅದನ್ನು ಸೂಚ್ಯವಾಗಿ ಇಂಟನ್ನು ಹಿಂದಿರುಗಿಸುವ ಕಾರ್ಯವೆಂದು ಘೋಷಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅದರ ವಾದಗಳ ಬಗ್ಗೆ ಏನನ್ನೂ ಊಹಿಸಿಕೊಳ್ಳಲಾಗುವುದಿಲ್ಲ. ಈ ಸಂದರ್ಭದಲ್ಲಿ ಕಂಪೈಲರ್ಗೆ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳ ಸಂಖ್ಯೆ ಮತ್ತು ಪ್ರಕಾರದ (ಗಳ) ಕಂಪೈಲ್-ಟೈಮ್ ವ್ಯಾಲಿಡಿಟಿ ಚೆಕಿಂಗ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. C99 ಮಾನದಂಡಕ್ಕೆ ಮೂಲಮಾದರಿಗಳ ಬಳಕೆಯ ಅಗತ್ಯವಿದೆ. ಚಾರ ಮೈಫಂಕ್ಷನ್ (int a);/* ಫಂಕ್ಷನ್ ಮೂಲಮಾದರಿ */#include <stdio.h> #include <limits.h> int ಮುಖ್ಯ (ಶೂನ್ಯ) {ಪುಟ್ಚಾರ್ (ಮೈಫಂಕ್ಷನ್ (-1));/* ಸರಿಯಾಗಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲಾದ ಕರೆ */ಪುಟ್ಚಾರ್ (ಮೈಫಂಕ್ಷನ್ (1.5));/* ಕಂಪೈಲರ್ ಅಸಮಂಜಸವಾದ */ಪುಟ್ಚಾರ್ (ಮೈಫಂಕ್ಷನ್ ("ತಪ್ಪಾದ ಆರ್ಗ್ ಟೈಪ್")) ಕಾರಣ ಎಚ್ಚರಿಕೆಯನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ;/* ಕಂಪೈಲರ್ ಎಚ್ಚರಿಕೆಯನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ */ಪುಟ್ಚಾರ್ (ಮೈಫಂಕ್ಷನ್ ());/* ಕಂಪೈಲರ್ ತುಂಬಾ ಕಡಿಮೆ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳನ್ನು ರಚಿಸುತ್ತದೆ */ಒಂದು = 1; ಪುಟ್ಚಾರ್ (ಮೈಫಂಕ್ಷನ್) ಫಂಕ್ಷನ್ ಮೂಲಮಾದರಿಯನ್ನು ಸೇರಿಸುವ ಮೂಲಕ, ಫಂಕ್ಷನ್ ಒಂದು ಪೂರ್ಣಾಂಕದ ವಾದವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ತಪ್ಪಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಕರೆಗಳನ್ನು ಹಿಡಿಯಲು ನೀವು ಕಂಪೈಲರ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತೀರಿ ಎಂದು ನೀವು ಕಂಪೈಲರ್ಗೆ ತಿಳಿಸುತ್ತೀರಿ. ಲೈಬ್ರರಿ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು ರಚಿಸುವುದು ಹೆಡರ್ ಕಡತದಲ್ಲಿ ಫಂಕ್ಷನ್ ಮೂಲಮಾದರಿಗಳನ್ನು ಇರಿಸುವ ಮೂಲಕ, ಲೈಬ್ರರಿಗಾಗಿ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ವರ್ಗ ಘೋಷಣೆ ಸಿ + + ನಲ್ಲಿ, ವರ್ಗ ವ್ಯಾಖ್ಯಾನಗಳಲ್ಲಿ ಕಾರ್ಯದ ಮೂಲಮಾದರಿಗಳನ್ನು ಸಹ ಬಳಸಲಾಗುತ್ತದೆ. ಮಾಡ್ಯುಲರ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಪ್ರೊಟೊಕಾಲ್ (ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್) ಅಬ್ಸ್ಟ್ರಾಕ್ಟ್ ವಿಧಾನದ ಉಲ್ಲೇಖಗಳನ್ನು ಸಹ ನೋಡಿ.