初学c/c++——浅谈指针
来源:互联网 发布:linux 查看文件 命令 编辑:程序博客网 时间:2024/05/19 23:18
1.指针
在我初学指针的时候,其实感觉指针和数组有点相似,但是其实两者有着本质上的区别。
数组信息在传递给函数,必须要有长度信息,比如:
int avg( int* p , int len){{}}
其中,*p是数组名即首地址,len为你所需要的长度,有首有尾。
指针作为输出参数时,返回多个值,指针传递的不是值,是地址。
pointer:是指针变量,其内容是地址量。
*pointer:是指针变量的目标变量,即指针指向的那个变量,其内容是数据。
&pointer:是指指针变量本身所占据的存储地址
一个数,有大有小,但是无论多大的数字,它的地址是固定的。所以我觉得数组和指针的区别,很大程度上是因为效率上的区别。
2.const 指针
1)
const指针,表示该指针是只读的
一般 –> const int*
不常用 –>int* const
一旦const后,指针则无法被修改,
指针指向的内存只能读不能写。
例子:
int a = 10;
const int* p=&a;
p=&b; //error!p不能被修改
*p=11; //error!不可写
int b=*p //right,可读
2)
const指针只是禁止星号操作,不允许写内存,
但是对于普通的指针加减是允许的。
例子:
int sum(const int* p)
{
for(int i=0; i < 5 ; i++)
{
printf(“%d \n ” , *p ); //可以读
p = p + 1 ; //没问题
}
}
3.安全使用指针
在定义一个指针时,
1)要想这个指针指向哪里?
2)这个指针指向的地方是否有效?
一般指针,有三种:
`
安全使用指针pointer
1)杜绝野指针
2)注意数组越界(超出定义范围)
3)变量是否已经失效(这里关系到局部变量的概念)
- 初学c/c++——浅谈指针
- 初学c/c++——浅谈引用
- C语言初学—函数和指针
- 【Linux C】浅谈指针(二)——野指针
- 【C语言】 浅谈指针
- 浅谈C语言指针
- 【c++】浅谈this指针
- c语言初学-const指针
- 【C++】字符串——字符数组和字符指针浅谈
- 从头认识C—指针和数组的一些浅谈
- 从二叉排序树------浅谈C指针
- C语言之指针浅谈
- 浅谈c语言的指针
- 浅谈C之精华---指针
- 浅谈C语言中的指针
- 浅谈C语言的指针
- c语言初学-初涉指针
- C——指针
- 04 为什么会有构造方法?以及构造函数与set()/get()方法的区别?
- linux音频alsa驱动文档阅读之四 数字音频接口
- Android MultiPhotoContainer多图选择容器 快速发布动态,意见反馈
- Html5+Css3实现类似网易云音乐的移动版播放器
- hdu 1222 Wolf and Rabbit(扩展欧几里德)
- 初学c/c++——浅谈指针
- C#学习笔记(一)
- javascript对象、函数要点总结
- Nginx安装
- Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found
- 全新的网络加载框架Retrofit2
- 写字板
- 欢迎使用CSDN-markdown编辑器
- 游标使用注意事项