精华内容
下载资源
问答
  • C语言指针数组介绍,定义指针数组输入输出指针数组 1、什么是指针数组; (1)数组里面的每一个元素不是值而是值,而是指针。 (2)把很多的指针集合在一起,就是一个指针数组 2、定义一个指针数组: ***(p+1) ...

    指针数组

    1、什么是指针数组;

    (1)数组里面的每一个元素不是值而是指针。
    (2)把很多的指针集合在一起,就是一个指针数组

    2、定义一个指针数组:

    类型标识符 *数组名[长度];
    比如:int *a[4];
    定义了一个数组名为a,它里面含有几个四个元素,他们分别是a[0],a[1],a[2],a[3],它们每个都是一个指针。

    3、如何给指针数组赋初值:

    //其中a是一个普通数组,b是指针数组,即b数组当中的每一个值都是指针
    int a[3] = {1,2,3},*b[3]={a,a+1,a+2};
    printf("%d",*b[0]);
    

    a ----------> a[0] <--------b[0]
    a+1 ------> a[1] <--------b[1]
    a+2 ------> a[2] <--------b[2]

    #include<stdio.h> 
    void main(){
    	int a[4]={1,2,3,4},*b[4]={a,a+1,a+2,a+3};
    	*b[0]=*b[0]+1;//2
    	*b[1]=*b[1]+1;//3
    	printf("%d,%d",a[0],a[1]);//2 3
    }
    

    在这里插入图片描述
    变换

     #include<stdio.h> 
    void main(){
    	int a[4]={1,2,3,4},*b[4]={a,a+1,a+2,a+3};
    	*b[0]=*b[0]+1;//2
    	*b[1]=*b[1]+1;//3
    	printf("%d,%d,%d",a[0],a[1],**b);//2 3 2
    }
    

    在这里插入图片描述

    **(p+1) 和 *(*p+1)的区别
    	#include<stdio.h> 
    void main(){
    	int a=1,b=4,*p[2]={&a,&b};
    	**(p+1)=a*b;//b=a*b=4
    	*(*p+1)=a+b;//*(p[0]+1)
    	printf("a=%d,b=%d",a,b);
    }
    

    在这里插入图片描述
    变换

    #include<stdio.h> 
    void main(){
     
     	char *aa[2]={"abcd","ABCD"};
    	printf("%s",*(aa+1));
    }
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 指针数组 首先从名字就可以知道这是一个数组,是存放指针的数组。 先看几种指针数组: int * 数组指针 函数指针 函数指针数组 指向函数指针数组的指针

    指针数组

    首先从名字就可以知道这是一个数组,是存放指针的数组。
    先看几种指针数组:
    int *arr1[10];
    char *arr2[5];
    char **arr3[6];
    因为 [ ] 的优先级是高于 * 的,所以数组名会先于 [ ] 相结合组成数组。 再于 int * / char *类型结合,组成存放该类型的数组。



    指针数组因为存放的都是指针所以不管是 int *   char * 还是 char ** 其大小都是四个字节。

    数组指针

    从名字看就知道是指针,是指向一个数组的指针。

    int (*p)[10];
    char (*p)[10];
    由数组指针知道 [ ] 的优先级是高于 *  的,所以用()来提升指针先结合。

    int (*p)[10];  //  是一个指向10个整形的一维数组的指针
    char (*p)[10]; //  是一个指向10个字符型的一维数组的指针

    数组的存储方式



    因为指向的是一个数组,所以大小由数组决定


    函数指针

    指向函数的指针,通俗的说也就是函数的地址
    void(*pfun)();
    pfun 先和*结合,说明pfun是指针,指针指向的是一个函数,指向的函数无参数,返回值类型为void
    也就是说 其可以保存函数的地址



    函数指针数组

    int (*parr[3])();
    parr先与 [ ]结合,说明是一个数组,再与*结合,说明数组存放的是指针,指针都指向的是函数
    函数指针数组的使用(转移表)
    例子:计算器
    #include<stdio.h>
    
    int add( x, y)
    {
    	return x + y;
    }
    int sub(x,y)
    {
    	return x - y;
    }
    int mul(x,y)
    {
    	return x * y;
    }
    int div(x,y)
    {
    	return x / y;
    }
    int main()
    {
    	int x, y;
    	int input = 1;
    	int ret = 0;
    	int(*parr[5])(int x, int y) = { 0, add, sub, mul, div }; //转移表
    	while (input)
    	{
    		printf("*******************************\n");
    		printf("***** 1.add         2.sub *****\n");
    		printf("***** 3.mul         4.div *****\n");
    		printf("*******************************\n");
    		printf("请选择:");
    		scanf("%d", &input);
    		if ((input > 0 && input < 5))
    		{
    			printf("输入你要计算的数:\n");
    			scanf("%d  %d", &x, &y);
    			ret = (*parr[input])(x, y);
    		}
    		else
    			printf("输入有误!\n");
    		printf("%d\n", ret);
    	}
    	return 0;
    }
    输出结果:


    指向函数指针数组的指针 

    这是一个指针,指向一个数组,这个数组是一个函数指针数组,数组中的元素都是函数指针

    定义方式:

    #include<stdio.h>
    void test(const char *str)
    {
    	printf("%s\n", str);
    }
    int main()
    {
    	void (*pfun)(const char*) = test;
    	//函数指针pfun
    	void (*pfunArr[5])(const char* str);
    	//函数指针的数组pfunArr
    	void (*(*ppfunArr)[10])(const char* str) = &pfunArr;
    	//指向函数指针数组pfunArr的指针ppfunArr
    	return 0;
    }




    展开全文
  • 字符指针数组输入

    千次阅读 2020-03-07 10:15:27
    关于“c语言从键盘输入字符串到指针数组”的问题 今天敲了一段代码,遇到了从键盘输入多个字符串到指针数组的问题,在程序执行的时候出现了段错误的提示。本文主要涉及到了以下知识: 数据的存储 数组和指针 1.字符...

    关于“c语言从键盘输入字符串到指针数组”的问题
    今天敲了一段代码,遇到了从键盘输入多个字符串到指针数组的问题,在程序执行的时候出现了段错误的提示。本文主要涉及到了以下知识:

    数据的存储
    数组和指针
    1.字符串常量的存储
    c语言中字符串常量存储在静态数据区,并且有字符串结束符,直到程序运行结束它才会被销毁,所以在程序中我们把一个字符串常量赋值给一个字符指针,如:

    char *pChar = “Hello World!”;
    其中,”Hello World!”是一个字符串常量,pChar是一个字符指针。该句相当于将字符’H’在静态数据区中的地址赋给pChar。此时,字符串常量”Hello World!”只有一份存储在静态数据区。

    另外一种常见的类型是将一个字符串常量赋值给一个字符数组,而其余上面的指针形式有本质上的区别,如下:

    char str[] = “Hello World!”;
    其中,”Hello World!”是一个字符串常量,str是一个字符数组。此时,程序会将字符串常量”Hello World!”拷贝一份到栈区(如果str是局部变量),从此将于字符串常量”Hello World!”再无联系。

    2.从键盘输入字符串
    从上面可以看出,我们可以给一个字符指针赋一个字符串常量,因为字符串常量在内存中真实存在且有其地址。而从键盘输入则不然,我们必须先分配一些空间用来存储键盘输入的字符串,例如:

    char* str = (char*)malloc(sizeof(char) * 100);
    scanf("%s", str);
    这样我们输入的字符串就会存储在str所指向的动态空间内。对指针数组的赋值参考以上即可。
    https://www.cnblogs.com/mensanu/p/7979462.html

    展开全文
  • 指针数组输入

    千次阅读 2018-05-12 10:33:10
    #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;math.h&gt; #include&lt;string.h&gt; #include&lt;... ...
    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<string.h>
    #include<stdlib.h>
    using namespace std;
    int main()
    {
        char *a[10];
        for(int i=0;i<3;i++)
        {
             a[i]=(char *)malloc(10*sizeof(char));
             cin>>a[i];
             if(!strcmp(a[i],"hello"))
             {
                 cout<<"匹配成功!"<<endl;
                 cout<<a[i]<<endl;
             }
        }
        return 0;
    }
    

    展开全文
  • 函数指针数组示例

    2014-10-11 13:33:05
    C语言中对函数指针数组不是很了解,老师最近布置了一个作业,就搜集资料写了一个,希望能给大家启发,如果对C语言复杂指针的分析不是很懂得话,可以网上搜索“右左法则”
  • 数组指针和指针数组

    万次阅读 多人点赞 2019-09-17 16:39:06
    首先,理解一下数组指针和指针数组这两个名词: “数组指针”和“指针数组”,只要在名词中间加上“的”字,就知道中心了—— 数组的指针:是一个指针,什么样的指针呢?指向数组的指针。 指针的数组:是一个数组...
  • c++数组指针和指针数组详解

    千次阅读 多人点赞 2019-03-14 15:33:16
    指针数组指针数组可以说成是”指针的数组”,首先这个变量是一个数组,其次,”指针”修饰这个数组,意思是说这个数组的所有元素都是指针类型,在32位系统中,指针占四个字节。 数组指针: 数组指针可以说成是”...
  • 文章目录指针数组数组的指针指针数组的指针关于CLion编辑器本地变量定义小技巧代码 C++数组的指针、指针数组指针数组的指针的声明有点绕,防止后面绕晕记不住所以记录下。 指针数组 int *ap[3]; 为啥[3]要放在...
  • Void get(char * p[ ],int n) { for(int i=0;i;i++) { cin>>p[i]; } } 总是有问题,怎么处理,求大神求解
  • 数组:一组数据的集合称为数组,它所包含的每一个数据叫做数组元素,例如 int a[4]; 它定义了一个长度为4的整型...指针数组指针数组的元素全为指针。它的声明方法是:数据类型 * 数组名[数组长度];例如int arr[5];
  • 指针数组与数组指针详解

    万次阅读 多人点赞 2016-09-28 21:21:20
    指针数组与数组指针详解1.什么是指针数组和数组指针? 指针数组指针数组可以说成是”指针的数组”,首先这个变量是一个数组,其次,”指针”修饰这个数组,意思是说这个数组的所有元素都是指针类型,在32位系统中...
  • 数组指针与指针数组

    2021-01-20 14:02:37
    数组指针与指针数组 数组指针: 什么是数组指针:能够指向数组的指针。 定义一个int (*p)[10],首先()的优先级高于[]所以p首先是一个指针,指向的是一个整形的一维数组,所以是数组指针。 数组指针是一个指针不是...
  • ** p——指向指针的指针 ...以整型指针数组为例,先定义一组指向整型的指针数组*p,再定义一组指向整形指针的指针数组**p: #include<iostream> #include<iomanip> #include<string> using namesp...
  • 关于“c语言从键盘输入字符串到指针数组”的问题

    千次阅读 多人点赞 2017-12-04 22:47:03
    关于“c语言从键盘输入字符串到指针数组”的问题今天敲了一段代码,遇到了从键盘输入多个字符串到指针数组的问题,在程序执行的时候出现了段错误的提示。本文主要涉及到了以下知识: 数据的存储 数组和指针 1.字符串...
  • 指针数组排序

    千次阅读 2019-05-16 23:38:34
    输入10个数,将其中最小的数与第一个数交换,把最大的一个数与最后一个数对换,写3个函数;1、输入10个数;2、进行处理;3、输出10个数。 例: #include<stdio.h> int main() { int number[10]; void input...
  • 字符指针数组

    千次阅读 2020-12-01 14:39:24
    指针数组是由指针变量构成的数组,在操作时,既可以对数组元素进行赋值(地址值)和引用,也可以间接访问数组元素所指向的单元内容,改变或引用该单元的内容。 字符指针数组: #include <stdio.h> int ...
  • 编程过程中遇到的错误:指针数组中写入字符串

    千次阅读 多人点赞 2018-08-16 19:32:19
    指针数组”还是掌握的不好。这篇博客就从那道我发现问题的题目入手,讲解一下学习过程中踩过的坑和自己的课后查漏补缺。 原题目:有3个候选人,每个选民只能投票选一个人,要求编一个统计选票的程序,先后输入...
  • 彻底理解指针,指针数组和数组指针,指针函数和函数指针.doc
  • 主要介绍了C++指针数组、数组指针、数组名及二维数组技巧汇总,对于深入理解C++数组与指针来说非常重要,需要的朋友可以参考下
  • [C] 数组指针、指针数组及数组传参

    千次阅读 多人点赞 2019-01-30 18:30:31
    指针字符指针数组指针指针数组 在指针的学习阶段,有不少同学都十分畏惧这个物什,甚至“谈指针色变”。其实对指针的不理解,其实本质上是对内存的不理解,本篇博客就从零开始、系统的来讲解指针这个话题。 首先...
  • 详解C语言指针函数、函数指针、函数指针数组

    万次阅读 多人点赞 2018-07-09 11:08:24
    而在指针中,指针函数、函数指针、指针函数数组、函数指针数组、指向函数指针数组的指针等等概念看着又绕又头疼。本问总结了一下以上一些概念以及用法,并给出例程深化理解。 1. 指针函数 指针函数就是返回指针值...
  • C++函数指针数组的使用方法

    千次阅读 2015-11-24 20:30:49
    什么情况下,想到将函数指针数组来的呢?是由于近期写的一个程序中,有一系列顺序化的函数,且这些函数的形式基本一致,需要对每一步的执行结果进行判断,是否执行成功,若执行成功,则继续执行下一函数,如果执行...
  • 指针数组理解

    千次阅读 2019-05-08 17:40:24
    指针数组理解 开发工具与关键技术:Visual Studio、C++ 作者:张国军 撰写时间:2019年05月06日 指针数组的元素类型是指针。 指针数组的元素存放对象的地址。 说明形式为:类型 * 标识符 [ 表达式 ] ; 先让我们来看...
  • 1、指针数组与数组指针 详细:http://c.biancheng.net/view/335.html 1.1指针数组 int *p1[5]; 指针数组 首先,因为"[ ]" 的优先级要比" * "的优先级要高,所以所以p1[5]首先是一个数组,然后其元素类型为整型指针...
  • 指针数组和数组指针是两个截然不同的概念,指针数组是一种数组,该数组存放的是一组变量的地址。数组指针是一个指针,表示该指针是指向数组的指针。 1.指向数组元素的指针 int a[5]={1,2,3,4,5}; int *p=a; //int...
  • 函数指针、函数指针数组,函数指针数组的指针

    千次阅读 多人点赞 2017-11-27 11:39:51
    数组指针 概念:数组指针指针,只要是指针他就占4个字节; 例如: 整形指针:int *p;能够指向整形数据的指针  浮点型指针:float *p;能够指向浮点型的数据的指针 那么数组指针,同样的理解就是指向数组指针...
  • 在之前的学习中,我们已经简单了解过了数组指针和指针数组(数组指针,指针数组,二级指针)我们知道指针数组其实就一个用来存放指针的数组.这里先做一个指针数组简单的回顾. int* arr[10]; //这是一个存放整型指针的数组...
  • 指针 指针数组 指针数组的指针 数组指针 数组指针的数组 函数指针 函数指针数组 指向函数指针数组的指针

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 872,728
精华内容 349,091
关键字:

怎么输入指针数组