指针数组功能测试
来源:互联网 发布:中国钓鱼运动协会数据 编辑:程序博客网 时间:2024/05/22 10:38
从字面上理解:指针数组是一个数组,只是数组中存的元素都是指针类型的。
代码测试:
int main()
{
char *n[3]={"gain","strong","much"};
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
n[0] = "gain";
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
return 0;
}
运行结果:
n[0] = 0x8048560
n[1] = 0x8048565
n[2] = 0x804856c
n[0] = 0x8048560
n[1] = 0x8048565
n[2] = 0x804856c
int main()
{
char *n[3]={"gain","strong","much"};
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
n[0] = "gai";
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
return 0;
}
运行结果:
n[0] = 0x8048560
n[1] = 0x8048565
n[2] = 0x804856c
n[0] = 0x8048595
n[1] = 0x8048565
n[2] = 0x804856c
int main()
{
char *n[3]={"gain","strong","much"};
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
n[0] = "gaii";
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
return 0;
}
运行结果:
n[0] = 0x8048560
n[1] = 0x8048565
n[2] = 0x804856c
n[0] = 0x8048595
n[1] = 0x8048565
n[2] = 0x804856c
int main()
{
char *n[3]={"gain","strong","much"};
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
n[0] = "gain123";
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
return 0;
}
运行结果:
n[0] = 0x8048560
n[1] = 0x8048565
n[2] = 0x804856c
n[0] = 0x8048595
n[1] = 0x8048565
n[2] = 0x804856c
int main()
{
char *n[3]={"gain","strong","much"};
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
n[0] = "gain123";
n[1] = "test";
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
return 0;
}
运行结果:
n[0] = 0x8048560
n[1] = 0x8048565
n[2] = 0x804856c
n[0] = 0x8048595
n[1] = 0x804859d
n[2] = 0x804856c
int main()
{
char *n[3];
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
return 0;
}
运行结果:
n[0] = 0xb77b1000
n[1] = 0x804847b
n[2] = 0xb7775000
char *n[3];
int main()
{
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
n[0] = "gain123";
printf("n[0] = %p\r\n",n[0]);
printf("n[1] = %p\r\n",n[1]);
printf("n[2] = %p\r\n",n[2]);
return 0;
}
运行结果:
n[0] = (nil)
n[1] = (nil)
n[2] = (nil)
n[0] = 0x8048574
n[1] = (nil)
n[2] = (nil)
从上述结果可以看出:
1、指针数组如果进行了初始化,则每个元素的地址是连续的
2、如果对这个元素进行重新赋值,并且内容和原本的不等,则这个地址就会发生改变,
但是这并不会影响那些未被修改的元素的地址,
3、如果指针数组没有初始化,则每个元素的值一开始就是随机的。
4、如果指针数组没有初始化,并且为全局变量,则每个值都为nil。
- 指针数组功能测试
- c++指针&指针数组&数组的指针 的测试
- 指针数组,数组指针,各种垃圾玩意测试自己留用
- 指针数组与数组指针对比及简单测试
- 容器,迭代器,数组指针,指针的指针 的一些测试
- 关于数组和指针的测试
- 关于三维数组和指针的测试
- C+= 指针理解的通关测试:指针数组,数组指针,指针函数,函数指针,二级指针
- 关于数组指针和函数指针的测试
- 二维数组功能测试,超详细
- C语言中二重指针和指针数组以及数组指针的测试
- 对shared_ptr智能指针的功能代码实现和测试
- 指针数组、数组指针
- 指针数组/数组指针
- 指针数组/数组指针
- 数组指针 指针数组
- 指针数组,数组指针
- 数组,指针,数组指针
- AS报错Error(303,27),找不到符号 方法 FloatMath.sin()
- Android NDK开发
- jMonkeyEngine之Camera全攻略
- 离群点(oulier)挖掘详解
- C#发送邮件(包含添加附件)
- 指针数组功能测试
- compilation terminated. In file included from <command-line>:0:0: /usr/include/stdc-predef.h:30:26:
- python requests 和正则表达式提取贴吧图片
- ASimpleCache缓存框架之简单使用
- php 错误cannot-use-object-of-type-stdclass-as-array
- 查看Keil ARM各种数据类型占用的字节数
- 如何使用小脚本和表达式链接数据库输出emp表的数据
- 最小白_tomcat1.7的安装及配置
- 小白算法练习 安慰奶牛 最小生成树 lanqiao prim