摘要:
很多公司都问到了二维指针,二维数组,以及指向数组的指针的相关问题,在此,简单的给大家总结下,为大家在面试的时候增加一定的信心。这类题目,总的来说,实际上可以归纳为如下几点:1、 有一个一维数组int a1[10],定义一个指针,指向一维数组名。2、 有一个一维数组int a2[10],定义一个指针,指向一维数组名的地址。3、 有一个二维数组int a3[3][4],定义一个指针,指向二维数组名。4、 有一个二维数组int a4[3][4],定义一个指针,指向二维数组名的地址。对于这类题目,刚看到,似乎感觉比较没有思路,其实我们细心思考下,这四个问题,都是让我们定义一个指针,指向一片连续的内存空 阅读全文
posted @ 2013-09-11 20:48
问笑
阅读(524)
评论(0)
推荐(0)
摘要:
问题描述:假设有两个整数A=8,B=9 ,现在要交换A和B的值,使得A=9,B=8.原理分析:方法一:利用一个辅助空间C,然后先将A中的数据放在C中,然后再将B中的数据放到A中,最后再将C中的数据放到A中,这样就可以实现数据的交换了。C语言代码实现(子函数):点击(此处)折叠或打开void swap1(datatype *a,datatype *b){datatype tmp=*a;*a=*b;*b=tmp;}方法二:为了节省一个辅助空间,首先将A+B的和存储在A中,这一步可能会出现溢出的问题,所以这个方法不是很好的做法,不过这个方法提供了一个思路。然后将改变后的A减去B赋值给B,这样B中存放 阅读全文
posted @ 2013-09-11 19:13
问笑
阅读(450)
评论(0)
推荐(0)
摘要:
void func1(char a[]){printf("%d",sizeof(a));}void main(){char b[55];func1(b);}输出为4,说明传递的参数数组自动退化为同类型的指针,这个例子中不论数组的容量为多少,sizeof(a)始终等于sizeof(char *)。C语言中的数组和指针总保持着'千丝万缕'的联系,这里仅针对数组作为函数实参时的情况做些说明^_^。C语言中的数组可分为一维数组和多维数组两类,而多维数组中又以二维数组最为常见。这里也仅针对这一维数组和二维数组作简要说明。看过'高质量C++编程指南'的人 阅读全文
posted @ 2013-09-11 14:11
问笑
阅读(267)
评论(0)
推荐(0)
摘要:
今天在论坛上有朋友提问:声明函数如下void function(int** pInt),意图是想参数传递一个二维数组。于是就定义了一个二维数组,比如 int[1][1],然后调用函数。结果如何?当然是失败了,编译器提示:cannot convert parameter 1 from 'int [1][1]' to 'int **',参数类型不匹配。上述过程我自己也试了,当然不匹配,类型完全不一样嘛。然后我就想了:如果要将一个二维数组作为形参,那么函数该怎么声明? 来看《C++ Primer》中给出的方法:数组名作为形参[cpp] view plaincopypr 阅读全文
posted @ 2013-09-11 13:12
问笑
阅读(226)
评论(0)
推荐(0)
浙公网安备 33010602011771号