指针
来源:互联网 发布:java毕业论文设计题目 编辑:程序博客网 时间:2024/05/22 05:27
//数据的直接引用
int a = 10;
//定义指针数据类型/复合类型
//int* p = NULL; //p是指针类型的变量,存放指针&a
//p = &a;
//定义存放指针p的地址的指针
//int** pp = &p;
//指针是由指针的指向类型和*构成,且指向类型可以是任何C语言合法的数据类型
//printf("a=%d\n",a); //数据的读取动作就叫引用
//数据类型分析法
// int** pp; //类型为int**
// int* *pp; //类型为int*
// int **pp; //类型int
// int array[5];
// p = &array[0];
//printf("p=%p\n",p);
// p = &array[1];
//printf("p=%p\n",p+1); //指针+1代表地址往后偏移1*sizeof(指针的指向类型)
//printf("p=%p\n",p-1); //指针-1代表地址往前偏移1*sizeof(指针的指向类型)
//printf("p=%p\n",++p); //p=p+1 == ++p;
//间接引用 "*"--间址运算与
// printf("*p=%d,a=%d\n",*p,a);
// printf("pp=%p\n",pp);
//指针就是有效的内存地址
// printf("&a=%p\n",&a); //打印的是变量在内存中的首地址
// printf("&p=%p\n",&p); //打印指针变量p的首地址
// printf("sizeof(a)=%lu\n",sizeof(a));
// printf("p=&a:%p\n",p);
// printf("sizeof(p)=%lu\n",sizeof(p));
// int* const pc = &a; // -----只读指针/常量指针
// PC++ //ERROR
// *pc = 30 //将更改a空间里的数据内容
// const int* pc = &a; == const int *pc = &a; //只能读指向的内容,不能更改指向的int内容 ---常指向指针
// *pc = 30; // error
int array[5];
//int* p = &array[0];
int* p = array; //数组名里面直接保存了数组的首地址---数组名是只读的指针变量
int** pp = &p;
for (int i=0; i<5; i++) {
printf("请输入第%d的数据:",i);
scanf("%d",(*pp)++);
}
p = &array[0];
for (int i=0; i<5; i++) {
printf("array[%d]=%d\n",i,*(*pp)++);
}
return 0;
}
***********************************************************************************************************************************
无效指针:
int* p = NULL //等于 (void*)0x0 ------------>泛型指针
当指针值为null值时,不能引用null值空间的内容,若引用的话将引发段错误(段保护错误),对无效地址的间址引用都将引发段错误
lldb——————>段错误
野指针:
使用指针初始化必须为NULL,并且用完后要将这个指针赋NULL,不然将出现野指针
ptr = 0xffffffff;
swap(int a,int b) —————————>传值引用
swap(int* a, int* b) ——————————>传址引用
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n
- 第十七周 【OJ-问题 F: 用数字造数字】
- windows编译openssl
- spring junit完美解决方案
- Android下使用Crashlytics
- 指针
- 通过UITextField自定义UIsearchBar
- sql server 2008 / 2008 r2 安装检测 不断要求重启计算机但是重启之后仍然没有效果
- C# 中class、struct 区别
- 腾讯2014校园招聘技术类笔试题详解
- 个人服务类的网站推广方法
- [Android] AlertDialog获取网上天气并显示各城市天气
- 转载 vc下实现屏幕保护
- iOS8 Size Classes的理解与使用