通过一个试验来理解什么是指针的指针?

本文探讨了C语言中指针的基本用法及其在内存管理中的应用,包括指针的声明、赋值以及如何通过指针操作内存。此外,还讨论了变量声明顺序可能带来的内存分配考虑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

int main(void)
{
	char aChar='a';
	char *pChar=&aChar;
                char bChar='b';
	return 0;
}

 

int main(void)

{

//注释部分是int类型测试

//  int aInt=0x22FF54;

//  int *p=&aInt;

//  int **pp=&p;

//  pp+=1;

//  return 0;

    char aChar='a';

    char *pChar=&aChar;

    char **ppChar=&pChar;

    ppChar+=1;

    return 0;

}

 

编译程序,然后通过debug分析其中各变量的值,你会很有收获的

我使用的是eclipse for c/c++版,由于上传图片很麻烦,请下载附件word分析文档

另外,通过此次试验,使我产生了一个疑惑,那就是变量的声明次序有可能产生内存的浪费问题:

比如,如下代码:

int main(void)
{
	char aChar='a';
	char bChar='b';
	char *pChar=&aChar;
	return 0;
}

 

和代码:

int main(void)
{
	char aChar='a';
	char *pChar=&aChar;
                char bChar='b';//注意
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值