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

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

相关推荐

尊尼获获:闺蜜在哪?
点赞 评论 收藏
分享
评论
点赞
5
分享
牛客网
牛客企业服务