c语⾔指针函数pdf,C语⾔指针经验总结(经典).pdf C语⾔指针经验总结(经典)
让你不再害怕指针
前⾔:复杂类型说明
要了解指针,多多少少会出现⼀些⽐较复杂的类型,所以我先介绍
⼀下如何完全理解⼀个复杂类型,要理解复杂类型其实很简单,⼀
个类型⾥会出现很多运算符,他们也像普通的表达式⼀样,有优先
级,其优先级和运算优先级⼀样,所以我总结了⼀下其原则:
从变量名处起,根据运算符优先级结合,⼀步⼀步分析.
下⾯让我们先从简单的类型开始慢慢分析吧:
int p; //这是⼀个普通的整型变量
int *p; //⾸先从P处开始,先与*结合,所以说明P是⼀
/
/个指针,然后再与int结合,说明指针所指向
//的内容的类型为int型.所以P是⼀个返回整
//型数据的指针
c语言指针实验总结int p[3]; //⾸先从P处开始,先与[]结合,说明P是⼀个数
//组,然后与int结合,说明数组⾥的元素是整
//型的,所以P是⼀个由整型数据组成的数组
int *p[3]; //⾸先从P处开始,先与[]结合,因为其优先级
//⽐*⾼,所以P是⼀个数组,然后再与*结合,说明
//数组⾥的元素是指针类型,然后再与int结合,
//说明指针所指向的内容的类型是整型的,所以
//P是⼀个由返回整型数据的指针所组成的数组
int (*p)[3];//⾸先从P处开始,先与*结合,说明P是⼀个指针
//然后再与[]结合(与"()"这步可以忽略,只是为
//了改变优先级),说明指针所指向的内容是⼀个
//数组,然后再与int结合,说明数组⾥的元素是
//整型的.所以P是⼀个指向由整型数据组成的数
//组的指针
int **p; //⾸先从P开始,先与*结合,说是P是⼀个指针,然
//后再与*结合,说明指针所指向的元素是指针,然
//后再与int结合,说明该指针所指向的元素是整
//型数据.由于⼆级指针以及更⾼级的指针极少⽤
//在复杂的类型中,所以后⾯更复杂的类型我们就
/
/不考虑多级指针了,最多只考虑⼀级指针.
int p(int); //从P处起,先与()结合,说明P是⼀个函数,然后进⼊
//()⾥分析,说明该函数有⼀个整型变量的参数
//然后再与外⾯的int结合,说明函数的返回值是
//⼀个整型数据
Int (*p)(int); //从P处开始,先与指针结合,说明P是⼀个指针,然后与//()结合,说明指针指向的是⼀个函数,然后再与()⾥的
//int 结合,说明函数有⼀个 int 型的参数,再与最外层的
//int 结合,说明函数的返回类型是整型,所以 P 是⼀个指

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。