指针指向位置(数据段、代码段、堆、栈……)

void func(char a)
{
static char b;
char *p1 = &a;
char *p2 = &b;
char p3[] = "&func";
}

static void (*p4)(char) = &func;

p1, p2, p3, p4分别指向什么位置
A. 数据段
B. 代码段
C. 栈
D. 堆
E. 不一定,视调用情况而定
全部评论
函数形参是栈上,局部静态变量或者静态变量在数据段,常量在数据段,p4是指针,本身在数据段(因为是静态变量),但它指向代码段。所以是caab
点赞 回复 分享
发布于 2017-10-25 10:34
cacb,p3是指向栈里的,如果写成char *p3 = "&func";那就是caab
点赞 回复 分享
发布于 2017-10-25 10:49
cacb
点赞 回复 分享
发布于 2017-10-24 22:39

相关推荐

11-08 16:53
门头沟学院 C++
投票
滑模小马达:第三个如果是qfqc感觉还行,我签的qfkj搞电机的,违约金也很高,但公司感觉还可以,听说之前开过一个试用转正的应届生,仅供参考。
点赞 评论 收藏
分享
牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
评论
点赞
5
分享
牛客网
牛客企业服务