C声明中的指针

C声明中的指针

参考

http://www.cdecl.org/
http://unixwiz.net/techtips/reading-cdecl.html

指针

int i;          declare i as int
const int i;    declare i as const int

----------

int * p;        declare p as pointer to int
int ** p;       declare p as pointer to pointer to int
int *** p;      declare p as pointer to pointer to pointer to int

const int * p;          declare p as pointer to const int
const int ** p;         declare p as pointer to pointer to const int
const int *** p;        declare p as pointer to pointer to pointer to const int

int * const p;          declare p as const pointer to int
int ** const p;         declare p as const pointer to pointer to int
int *** const p;        declare p as const pointer to pointer to pointer to int

const int * const p;    declare p as const pointer to const int
const int ** const p;   declare p as const pointer to pointer to const int
const int *** const p;  declare p as const pointer to pointer to pointer to const int

int * const * p;        declare p as pointer to const pointer to int
int * const ** p;       declare p as pointer to pointer to const pointer to int
int * const *** p;      declare p as pointer to pointer to pointer to const pointer to int
int ** const * p;       declare p as pointer to const pointer to pointer to int
int *** const * p;      declare p as pointer to const pointer to pointer to pointer to int

const int * const * p;          declare p as pointer to const pointer to const int
int ** const * const p;         declare p as const pointer to const pointer to pointer to int
const int ** const * const p;   declare p as const pointer to const pointer to pointer to const int

----------

int a[];            declare a as array of int
int a[10];          declare a as array 10 of int
int a[10][15];      declare a as array 10 of array 15 of int

int *a[10];         declare a as array 10 of pointer to int
int **a[10];        declare a as array 10 of pointer to pointer to int
int ***a[10];       declare a as array 10 of pointer to pointer to pointer to int

int *a[10][15];     declare a as array 10 of array 15 of pointer to int
int **a[10][15];    declare a as array 10 of array 15 of pointer to pointer to int
int ***a[10][15];   declare a as array 10 of array 15 of pointer to pointer to pointer to int

int (*a)[10];       declare a as pointer to array 10 of int
int (**a)[10];      declare a as pointer to pointer to array 10 of int
int (***a)[10];     declare a as pointer to pointer to pointer to array 10 of int

int (*a)[10][15];       declare a as pointer to array 10 of array 15 of int
int (**a)[10][15];      declare a as pointer to pointer to array 10 of array 15 of int
int (***a)[10][15];     declare a as pointer to pointer to pointer to array 10 of array 15 of int

int *(*a)[];        declare a as pointer to array of pointer to int
int **(*a)[];       declare a as pointer to array of pointer to pointer to int
int ***(*a)[];      declare a as pointer to array of pointer to pointer to pointer to int
int *(**a)[];       declare a as pointer to pointer to array of pointer to int
int *(***a)[];      declare a as pointer to pointer to pointer to array of pointer to int

----------

int f();        declare f as function returning int
int * f();      declare f as function returning pointer to int
int ** f();     declare f as function returning pointer to pointer to int
int *** f();    declare f as function returning pointer to pointer to pointer to int

int f(int);     declare f as function (int) returning int
int * f(int);   declare f as function (int) returning pointer to int
int ** f(int);  declare f as function (int) returning pointer to pointer to int
int *** f(int); declare f as function (int) returning pointer to pointer to pointer to int

int (*f) (int);         declare f as pointer to function (int) returning int
int (**f) (int);        declare f as pointer to pointer to function (int) returning int
int (***f) (int);       declare f as pointer to pointer to function (int) returning int

int * (*f) (int);       declare f as pointer to function (int) returning pointer to int
int ** (*f) (int);      declare f as pointer to function (int) returning pointer to pointer to int
int *** (*f) (int);     declare f as pointer to function (int) returning pointer to pointer to pointer to int

----------

int *(*(**foo[][8])())[];   declare foo as array of array 8 of pointer to pointer to function returning pointer to array of pointer to int
int *(*(**foo[5][8])())[];  declare foo as array 6 of array 8 of pointer to pointer to function returning pointer to array of pointer to int

----------
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计,皆可应用在项目、毕业设计、课程设计、期末/期/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值