【C语言-进阶】指针进阶

本文探讨了C语言中的指针进阶概念,包括字符指针、指针数组和数组指针。字符指针涉及到常量字符串的存储和访问,强调了对常量字符串的保护。指针数组和数组指针的讲解阐述了如何存储和访问一维及二维数组。文章通过实例解释了不同类型的指针操作,并讨论了它们在内存管理和程序设计中的作用。
摘要由CSDN通过智能技术生成

1.字符指针

字符指针的基本使用略了

把常量字符串"abcdef"的首元素地址放在字符型指针p中,p中存储的就是字符a的地址,而因为他们是在内存中连续存储的,且字符串末尾有自动添加到'\0',所以可以用printf形式打印出来。

这时如果用指针p对p所指向的对象修改,就会出现程序崩溃的情况,而在cpp文件中,我记得好像这种行为编译是无法通过的,会直接报错,所以如下,在前面加一个const,对其进行保护。

面试题(?

 常量字符串"abcdef\0"是存储在常量区的(好像名字并不是这个)(只读区),而因为这样的字符串创建了之后就无法改变(在销毁之前),所以计算机完全没有必要创建两个一模一样的字符串,所以内存中只会出现一个"abcdef\0"。而pa,pb都是存储的a的地址,所以也就一样了。

arr1,arr2 是存储在栈区的,他们是可变的࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值