彻底征服<<指针数组和指向数组的指针>>
来源:互联网 发布:网络买彩票 编辑:程序博客网 时间:2024/05/29 06:55
以前我也看了很多有关指针的书籍,上面对数组指针和指针数组,做了很好的介绍。但大多数都是先给它们在定义的时候就赋初值,然后讲一下就完事儿,但在实际操作过程中,数据较大而且是不确定的,往往需要我们循环输入,其实,数组指针(*a[i])为多个指针,i值为指针的个数。指针数组((*a)[k])是一个二维数组,k表示二维数组的a[i][j]的j的值。因为是指针数组,所以在这儿i的值是可以变化的,所以有些资料也称指针数组为“可变长的二维数组”。
这时,对于数组指针,问题就产生了。多个指针我们应该怎样输入呢?请看下面的代码。
#include<stdio.h>
int main()
{
int i,n;
char *a[20]; // 定义一个指针数组;
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i]=new char [30]; //给每个指针分配空间
scanf("%s",a[i]); //为每个指针输入信息,由于a[i]就是地址,所以不用&符号,这里要注意,否则在输出可能会出错的
}
for(i=0;i<n;i++)
printf("%s\n",a[i]); //输出
}
//是不是很简单吧?其实没有那么复杂
//接下来是指向数组的指针
#include<iostream> //这个很简单,和二维数组一样,只是需要对数组指针进行动态分配
using namespace std;
int main()
{
int (*a)[3]=new int [5][3]; //这儿的两个3必须一样,否则会出错
int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
cin>>a[i][j];
for(i=0;i<2;i++) //其实没有必要用这么多循环,为了表达清楚我的思想,所以用了这么多
for(j=0;j<3;j++)
cout<<a[i][j]<<endl;
}
- 彻底征服<<指针数组和指向数组的指针>>
- 指向数组的指针和指针数组
- 指针数组和指向指针的数组
- 指针数组和指向数组的指针
- 指针数组,和指向指针的指针
- 指针数组和指向指针的指针
- 指针数组和指向指针的指针
- 数组指针和指向指针的指针
- 数组指针、 指针数组、函数指针、函数指针数组和指向函数指针数组的指针
- 彻底搞清C/C++中一维数组,二维数组,指针,数组指针和指针数组以及指向指针的指针,行地址和列地址之间的关系
- 彻底搞清C/C++中一维数组,二维数组,指针,数组指针和指针数组以及指向指针的指针,行地址和列地址之间的关系
- 二维数组和指向指针的指针
- 二维数组和指向指针的指针
- 二维数组和指向指针的指针
- 二维数组和指向指针的指针
- 二维数组和指向指针的指针
- 二维数组和指向指针的指针
- 二维数组和指向指针的指针
- fill函数 神奇的迭代器
- 菜鸟SEOer浅谈robots
- 设计模式—结构型-Composite(组合)
- SEOer浅谈robots
- OK6410学习之裸板LED程序及RAM烧录
- 彻底征服<<指针数组和指向数组的指针>>
- 降低改版带来的风险
- poj 2200 A Card Trick(模拟)
- linux内核定时器
- poj1789
- 黑马程序员 Java面向对象——String类 StringBuffer类 StringBuiler类
- HDU 1013 Digital Roots
- GCC 参数
- poj3991(括号匹配-贪心)