收藏 分销(赏)

C语言补充.doc

上传人:pc****0 文档编号:7453710 上传时间:2025-01-05 格式:DOC 页数:4 大小:39.50KB 下载积分:10 金币
下载 相关 举报
C语言补充.doc_第1页
第1页 / 共4页
C语言补充.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
int f( ); 说明:把f申明为一个函数,其返回值是一个整数。 int *f( ); 说明:先确定表达式*f()是如何进行求值的。首先执行的是函数调用操作符(),因为它的优先级最高。所以f是一个函数,它的返回值是一个指向整数的指针。 int (*f)( ); 说明:首先确定括号的含义。()是函数调用操作符,(*f)只起到聚组的作用,使间接访问在函数调用之前进行,则f成为一个函数指针,它所指向的函数返回一个整型值。 int *(*f)( ); 说明:f是一个函数指针,它所指向的函数返回一个整型指针。 int f[ ]; 说明:f是一个整型数组。 int *f[ ]; 说明:下标优先级更高,所以f是一个数组,它的元素类型是指向整型的指针。 int f( )[ ]; 说明: f是一个函数,它的返回值是一个整型数组。这个申明非法,因为函数不能返回数组。 int f[ ]( ); 说明:本意指f是一个数组,它的元素类型是返回值为整型的函数。但此申明非法,因为数组元素必须具有相同的长度,但不同的函数显然可能具有不同的长度。 int (*f[ ])( ); 说明:首先确定括号的含义和操作符执行顺序。*f[ ]首先求值,则f是一个元素为某种类型的指针的数组。()是函数调用操作符,则f表示一个数组,数组元素的类型是函数指针,它指向的函数返回值是一个整型值。 int *(*f[ ])( ); 说明:与上面类似。f是一个指针数组,指针所指向的类型是返回值为整型指针的函数。 有如下的申明, int array[ 12 ][ 31 ]; 请问array[4]是什么意思?sizeof(array[4])等于多少? array是一个有着12个数组类型元素的数组,每个数组类型元素又是一个有31个int型元素的数组,所以array[4]是array数组的第5个元素,这个元素是有31个int类型的数组。那么 sizeof(array[4]) = 31 * sizeof(int); 有如下的申明, int array[ 12 ][ 31 ]; int i; 表达式i = array[4][7];还可以替换成怎样的表示方法? i = *(array[4] + 7); 或 i = *(*(array + 4) + 7); int (*f)[31]; 说明:申明*f是一个拥有31个 int元素的数组,因此f就是一个指向拥有31个 int元素的数组的指针。 请说出如下代码的编译运行结果,并说明原因: int main() { char c; c = ‘1’; if(c == ‘1’ || c = ’2’ || c == ‘3’) printf(“+++ 1\n”); else printf(“+++ 2\n”); return 0; } 说明:由运算法优先级的规则,if(c == ‘1’ || c = ’2’ || c == ‘3’)等价于 if((c == ‘1’ || c) = (’2’ || c == ‘3’)) 则这个是非法操作,编译时会报错。 请说出如下代码的编译运行结果,并说明原因: int main() { int a, b, c, *p; p = &b; a = 10000 ; b = 100 ; c = a /*p ; printf(“c = %d\n”, c); return 0; } 说明:请注意符号/* ,c代码注释的前导符,程序编译报错。 请指出如下代码的意思并分析, (*(void)(*)( ) ) 0) ( ); 说明:此语句意思是调用地址为0位置的子程序。假设变量fp是一个函数指针,则 (*fp)(); 表示调用fp所指向的函数。那么调用位置0的函数,似乎可以用 (*0)(); 但不正确,因为运算符*必须要一个指针来做操作,这个指针必须是函数指针。所以必须要对0做类型转换,即将0转为“指向返回值为void类型的函数的指针”,可以表示为(void)(*)( ) ) 0,带入上面的(*0)();即可得到: (*(void)(*)( ) ) 0) ( ); 4
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服