数组指针和指针数组从字面上来看很纠结,有时候我也搞不清,分不清哪样的是数组指针,哪样的是指针数组。这东西就不是靠记忆的,我们采取分析加对比分层剥离的方法分析。1.概念区别1.1.数组指针:定语在前,主语在后。也就是数组的指针。一个指针,它指向一个数组。1.2.指针数..
分类:
编程语言 时间:
2017-07-07 20:17:05
阅读次数:
235
这片文章介绍二维数组inta[i][j]中的符号:a,&a[i],&a[i][j],a[i][j],&a[i][j]的含义,重点在后面第二部分的分析,但是前面第一部分的复习数组指针,指针数组和二维指针是前提,前面的不会,后面的没法理解。这片文章写的有些费劲,个人能力不够,可能会有错误,..
分类:
编程语言 时间:
2017-07-07 20:13:17
阅读次数:
238
数据结构从零开始之线性表 线性表 线性表在计算机中可以用顺序存储和链式存储两种存储结构来表示。 其中用顺序存储结构存储的叫做顺序表。 用链式存储结构表示的叫做链表。 顺序存储 地址连续 预先分配内存,可能会导致浪费 查改容易,直接通过下标就可以访问 增删不方便,每一次增加或者删除,后面的所有数据元素 ...
分类:
其他好文 时间:
2017-07-07 19:56:40
阅读次数:
171
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; // ...
分类:
编程语言 时间:
2017-07-07 17:36:50
阅读次数:
143
函数中,数组如何传参? 整个数组传过去是不可以的。自然联想到指针和引用。 因为数组指针本质上就是多重指针,所以以下三种传参方式都是可以的: const修饰符是可加可不加的。当我们可能会一不小心时,最好加上。 当然啦,也可以用引用传参。但是其一般有一个局限性:限定了数组长度。 为什么呢?我认为是引用必 ...
分类:
编程语言 时间:
2017-07-02 21:12:39
阅读次数:
190
指针和数组 1 - 指针对应的数组元素地址 第一个元素的地址p &ages[0];第二个元素的地址p+1 &ages[1];第三个元素的地址p+2 &ages[2] ...... 2 - 示例代码 需求:利用指针,遍历出数组元素 3 - 数组元素的三种访问形式 (1) 数组名[下标] (2)指针变量 ...
分类:
其他好文 时间:
2017-06-30 20:52:23
阅读次数:
217
字符串中连续出现最多的子串 & 字符串中最长反复子串 字符串中连续出现最多的子串 & 字符串中最长反复子串,这两个问题都能够用后缀数组来表示,至于后缀数组能够參考编程珠玑P156;后缀数组就是定义一个数组指针,分别指向字符串中的相应位置,例如以下: a b c a b c a b c d e .su ...
分类:
其他好文 时间:
2017-06-23 11:39:54
阅读次数:
118
1.传递数组指针 1 #include <stdio.h> 2 void output( int (*pa)[3], int n )//这个函数只能输出n行3列的二维数组 3 { 4 int i,j; 5 for( i=0;i<n;i++ ){ 6 for( j=0;j<3;j++ ) 7 prin ...
分类:
编程语言 时间:
2017-06-17 13:48:08
阅读次数:
141
在C++中,如果要给一个函数传入一个数组,一般都是传入两个参数一个数组指针和一个数组大小。 单独传递一个数组或者指针进去,会导致数组不完整。 做个试验: 输出: 输出: ...
分类:
编程语言 时间:
2017-06-11 10:09:26
阅读次数:
158
#include<stdio.h> void print_array_test(char ca[]) { printf("ca : %s\n",ca); printf("&ca : %s\n",&ca); printf("&(ca[0]) : %s\n",&(ca[0])); printf("&(c ...
分类:
编程语言 时间:
2017-06-06 18:44:26
阅读次数:
143