关于c语言指针小记(一)
来源:互联网 发布:易娱网络太古汇39楼 编辑:程序博客网 时间:2024/06/05 09:36
关于c语言指针有两个经验:
1.指针
和
指针所指向的内容
是不同的
2.没有内存就没有指针
下面的简单例子,可以有所体会:
int main(){ int a = 128; int* p1 = NULL; int* p1_ = NULL; int**p2 = NULL; int**p2_ = NULL; p1 = &a;//err:*p1 = a p1_ = (int*)malloc(sizeof(int)); *p1_ = a; p2 = &p1; //err:*p2 = p1; p2_ = (int**)malloc(sizeof(int*)); *p2_ = p1; printf("p1 = %d\n", *p1 ); printf("p1_ = %d\n", *p1_ ); printf("p2 = %d\n", **p2 ); printf("p2_ = %d\n", **p2_); return EXIT_SUCCESS;}
虽然是很简单的例子,但是在实际开发的时候,当代码场景变的复杂,就有可能发生类似的错误
所以一个建议就是
例如遇到二级指针,建议初始化分配内存
int** p = (int**)malloc(sizeof(int*));
这样,
比如在linux c下的线程函数
extern int pthread_join __P ((pthread_t __th, void **__thread_return));
传递函数参数的时候,至少不会犯类似错误。
0 0
- 关于c语言指针小记(一)
- C语言 指针小记
- 小记C语言指针p与*p
- 关于C语言指针
- C语言--指针(一)
- C语言指针【一】
- 关于C语言指针的一些学习心得(一)
- c语言中关于一维数组的指针访问
- 关于C语言的指针
- C语言:关于数组指针
- 关于C语言指针常量
- 关于C语言函数指针
- 关于C语言中的指针
- [c语言学习]关于指针
- C语言学习--关于指针
- 关于C语言的指针
- 深入浅出 C语言指针 一
- C语言指针(一)
- 数数小木块0
- 四、文件名置换
- C++的运算符重载(运算符重载如何选定重载的函数类型)--思考1
- [综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
- 几个留待认真研究的问题,开源tt
- 关于c语言指针小记(一)
- Android 在锁屏界面添加未读短信和电话提醒
- 黑马程序员——Java基础---深层拷贝(数组、ArrayList)
- 基于OpenCV的圆斑检测方法
- 堆优化的Dijkstra算法
- [c++]复数的运算符重载
- Spring @EnableWebMvc
- [网络编程] Linux网络编程经典书籍
- 多播