数组指针和指针数组 原理 及 异同
来源:互联网 发布:网络电视tv版哪个好 编辑:程序博客网 时间:2024/06/14 20:08
<pre name="code" class="cpp">#include<cstdio>int main(){ char c[][4] = {"123","456","789"}; //数组指针 (二维数组) char (*p)[4]; //数组指针 p=c; //一个指针 指向一个 至多有4个字符 的 字符串数组 该数组保存在栈区 //该字符串数组的内存空间已经分配好了 而且这些字符在 内存空间中是连续的 char *pch[6] = {"123","456","789"}; //指针数组 //一个数组 保存6个指针 每个指针指向一个常量区字符串 //相同点: //指针数组 和 数组指针 的 元素 都可以通过 解引用 和 下标运算 得到 for(int i=0; i<3; i++) printf("%s %s\n", p[i], *(p+i)); printf("\n"); for(int i=0; i<3; i++) printf("%s %s\n", pch[i], *(pch+i)); printf("\n");// 不同点1 :// 一个的字符串保存在栈区 一个保存在常量区// 常量区的值不可修改 printf("修改前: %s\n", p[0]); p[0][0] = '6'; //正确 printf("修改后: %s\n\n", p[0]); pch[0][0] = '2'; //错误 //常量区的值不可修改// 不同点2: p[1] = "22"; //错误 //禁止这样修改 //因为修改后可能导致字符串数组长度改变 //整个二维数组的内存就不再是连续的了 printf("修改前: %s\n", pch[0]); pch[0] = "666"; //正确 //该指针指向一个新的 常量区字符串 printf("修改后: %s\n\n", pch[0]); printf("%s\n", pch[0]); return 0;}
0 0
- 数组指针和指针数组 原理 及 异同
- 指针和数组的异同
- 指针数组和数组指针及延伸
- C/C++指针和数组的异同
- 指针数组及数组指针
- 数组与指针的异同
- 指针与数组的异同
- 数组与指针的异同
- 指针和指针数组
- 指针数组和数组指针
- 指针数组和数组指针
- 指针数组和数组指针
- 指针数组和数组指针
- 数组指针和指针数组
- 指针数组和数组指针
- 数组指针和指针数组
- 指针数组和数组指针
- 指针数组和数组指针
- POJ2406 Power Strings
- css背景图片在chrome下正常,IE下不显示
- gym100818I - Olympic Parade
- 浅析匿名函数、lambda表达式、闭包(closure)区别与作用
- 算法学习
- 数组指针和指针数组 原理 及 异同
- PHP时间格式大全
- 字符串的截取
- android新手进阶之录音功能实现
- better support right-to- left layouts的警报
- 在应用程序菜单里添加软件
- Eclipse常用快捷键
- 第二章 布局技巧与列表
- 实战第4周作业-包括第二题的三种实现