課程
/后端開發
/C
/Linux C語言指針與內存
不太明白(*pquadrate)后面為啥還有個(int a) ??
2015-07-28
源自:Linux C語言指針與內存 4-5
正在回答
這是函數指針聲明。
這是將pquadrate聲明為函數指針,它指向的是有一個int型參數,返回值為int的函數。這語句同時將pquadrate初始化為quadrate的地址(顯然quadrate應該是個函數名)。
一步一步講這個聲明:
這語句聲明的是pquadrate變量,前面有個*,而且是用小括號和變量名括起來的(*pquadrate),表明這個變量名優先和*結合。聲明變量時前面有*就代表這個變量是指針,所以pquadrate是個指針。那它指向什么呢?
接著看,后面有小括號,前面有類型,表明是個函數。參數就是int a,返回值是int型。所以pquadrate是指向這樣的函數的指針。
帥踢鍋 提問者
onemoo 回復 帥踢鍋 提問者
厲害了,大神呀
厲害 。。。
原來如此
謝謝你的解釋!
舉報
指針-C語言的核心,代領大家對c語言有更加深刻的理解
2 回答int(*pquadrate)(int a) = &quadrate;這個代碼段的詳解!
2 回答如果int a = 3; 那么int *p=&a;之后 是不是*p=3,p=&a 呢?
1 回答#include<stdio.h> int main()
1 回答int內存地址分配問題?
1 回答*p=&a;在這里意思就是把p指向a所在的內存單元嗎?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-07-29
這是函數指針聲明。
這是將pquadrate聲明為函數指針,它指向的是有一個int型參數,返回值為int的函數。這語句同時將pquadrate初始化為quadrate的地址(顯然quadrate應該是個函數名)。
一步一步講這個聲明:
這語句聲明的是pquadrate變量,前面有個*,而且是用小括號和變量名括起來的(*pquadrate),表明這個變量名優先和*結合。聲明變量時前面有*就代表這個變量是指針,所以pquadrate是個指針。那它指向什么呢?
接著看,后面有小括號,前面有類型,表明是個函數。參數就是int a,返回值是int型。所以pquadrate是指向這樣的函數的指針。
2020-05-17
厲害了,大神呀
2017-04-29
厲害 。。。
2017-02-25
原來如此
2016-07-08
謝謝你的解釋!