之前对数组的概念一直没有理解透彻,只觉得数组名就是个常量指针而已,用法和基本的指针差不多。所以当我尝试用二级指针去访问二维数组时,就经常会出错。下面就是刚开始写的一个错误的程序:#include <stdio.h>int main(){int iArray[2][3] = {{1,2,3},{4,5,6}};int **pArray = NULL;pArray = iArray;printf("array[0][0] = %d\n", pArray[0][0]);printf("array[1][2] = %d\n", pArray[1][2
转载 2012-04-12 23:00:00
658阅读
2评论
指针数组在前面的博客里,我们已经学过了指针数组指针数组是一个存放指针数组。自行复习哦。。。。数组指针数组指针的定义:数组指针数组? 还是指针?答案:指针。我们已经熟悉:整型指针:int pint;能够指向整型数据的指针。浮点型指针:floatpf;能够指向浮点型数据的指针。那么数组指针应该是:能够指向数组指针。下面代码哪个是数组指针?int *p1[10];int ...
原创 2021-08-10 10:25:00
774阅读
C/C++中有两个很easy混淆的十分经常使用的可是又特别不引起人注意的两个概念,指针数组数组指针,也许你已经对这两个概念早有耳闻,可是不知你有没有对他们做过仔细的分析来差别二者呢?     以下我们来看下百度百科上是怎样对二者进行定义的     数组指针   一:数组指针数组名本身就是一个指针,指向数组的首地址。注意这是声明定长数组时,其数组名指向的数组首地址是常量。而声明数组并使某个指
转载 2015-05-06 12:12:00
370阅读
数组指针存在一定的区别与联系 指针是一个变量,意味着它的值可以被重新赋予,数组名是和特定的内存地址判定的,不能被改变。 一维数组名和普通的指针在使用数组的方法上是一致的,都可以通过index来引用和修改数据。 例如: int data[5]; int *p; p = data; 二维数组在使用指针进行操作时存在一定的不同,指针是一个普通的变量,无法知道二维数组的结构,所以在指针的定
原创 2010-11-12 12:57:43
953阅读
C/C++中有两个很easy混淆的十分经常使用的可是又特别不引起人注意的两个概念,指针数组数组指针,也许你已经对这两个概念早有耳闻,可是不知你有没有对他们做过仔细的分析来差别二者呢? 以下我们来看下百度百科上是怎样对二者进行定义的 数组指针 一:数组指针数组名本身就是一个指针,指向数组的首...
转载 2015-02-15 13:08:00
824阅读
2评论
指针即地址。(1)指针数组数组指针a、指针数组:是指一个数组里面装着指针,也即指针数组是一个数组; 定义形式:int *a[10],先是数组,后是指针;b、数组指针:是指一个指向数组指针,它其实还是一个指针,只不过是指向数组而已; 定义形式:int (*p)[10],先是指针,后是数组。核心要点:数组指针是指向数组指针指针数组是存放指针数组。谁的运算优先级高就是谁--指针数组数组优先级
转载 2023-07-19 00:46:47
162阅读
转载:://blog.chinaunix.net/uid-204201-id-3013884.html--------------指针数组----------------int *p[10];//指针数组,含有10个指针元素也就是说每一个元素都是指针--------------数组指针----------------int (*p)[10];//数组指针,这个指针能够用来指向含有10个元素
转载 2013-08-31 06:55:00
324阅读
2评论
函数指针是一个指向函数的指针,即它是一个指针变量,只不过这个指针指向一个函数。函数指针的定义: 返回值类型 (*指针变量名)(形参列表);int (*fun)(int a,int b);注意:1)声明函数指针时必须和要指向的函数返回值以及参数类型保持一致,否则会出错。2)指向函数的指针没有++和--运算。3)函数指针指向的函数必须是被定义了并且分配了内存的,否则它将指向一个空地址。会编译
原创 2016-04-28 17:10:30
967阅读
    听到这几个名词不知道大家什么感受,反正我是一脸懵逼,不过我还是比较好学的,在老师的指导下,自己下去也钻研了一下,有一些自己的见解,我想在学习过程中也有童鞋遇到了相同的问题,希望我的总结能给你带来帮助。   首先我们先明确一下这几个概念,知道他们都表示什么,ok,请看:函数指针:函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不
原创 2017-03-26 12:07:17
2036阅读
1点赞
这两个名字不同当然所代表的意思也就不同。我刚开始看到这就吓到了,主要是中文太博大精深了,整这样的简称太专业了,把人都绕晕了。从英文解释或中文全称看就比较容易理解。指针数组:array of pointers,即用于存储指针数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组指针还要注意的是他们用法的区别,下面举例说明。int* a[4] 指针数组 表示:
原创 2023-03-03 13:16:13
84阅读
本文转自:[url]http://www.gisfoot.com/post/154.html[/url]   //注意指针数组数组指针分别是如何指向二维数组的#include <stdio.h>main(){    static int m[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};/* 定义二维数组m并初始化*/
转载 精选 2008-07-25 13:52:23
921阅读
       好喝来自#include<stdio.h>    void main()    {            int m[3][4]={0
转载 2011-04-09 20:28:37
484阅读
指针数组数组指针
原创 2020-09-24 22:13:01
555阅读
指针数组: 它是一个数组,并且数组中的数据元素类型为指针类型 <数据类型> *数组名[大小]; 数组指针: 它是一个指针,并且他指向二维数组的首地址 <数据类型> (*指针变量名)[大小] [数据类型] 数组名[大小]; 假如q是一个一维数组,q + i编移字节数为sizeof(数据类型) * i  [数据类型] *指针变量名; 假如q是一个一级指针,q + i偏移
转载 2013-12-05 10:32:00
83阅读
2评论
int *a[];与int (*a)[3];后边这个:相当于a[][3];第一个函数会给传值;char **a=char *a[]char **a=char *c[];虽然函数名不同,但是意义一样的。
转载 2016-06-21 20:15:00
78阅读
2评论
//注意指针数组数组指针分别是如何指向二维数组的#include <stdio.h>int main(){ static int m[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};/* 定义二维数组m并初始化*/ int (*p)[4];//数组指针 p是指针,指向一维数组,每个一维数组有4个int元素 int i,j; ...
原创 2021-07-07 10:12:24
139阅读
 
转载 精选 2008-10-07 14:51:55
673阅读
经常有人问如何区分数组指针指针数组。我这里有个诀窍:1) int (*p)[10]2) int *p[10]根据优先级来判断,()>[]>*所以1)中*p外面有(),所以p强制成为一个指针,不论怎样就是一个指针,后面接着[10]表示这个指针指向一个含有10个整型值的数组而2)中[]优先级最高,所以p就是一个数组,这个数组包含了10个整型指针
原创 2010-07-14 01:26:30
653阅读
    首先用几个表达式直观的感受一下什么是指针数组以及数组指针。    一.表达式    int *p[10];//指针数组     int (*p)[10]//数组指针  有了直观的感受那么我们具体分析,指
原创 2015-11-22 19:41:24
2719阅读
  • 1
  • 2
  • 3
  • 4
  • 5