C基础--指针数组

#include <stdio.h>

//指针数组练习
int main1(void)
{
    //int   a[10];
    char*  arry[3] = {"hello", "world", "itcast"};
    //char  arry[3][20] = {"hello", "world", "itcast"};
    //char *str = "hello";
    int i;
    printf("%d\n", sizeof(arry));

    for (i = 0; i < 3; i++)
        printf("%p\t%s\n", arry[i], arry[i]);

    return 0;
}
//指针数组易犯错误
int main(void)
{
    //int   a[10];
    char*  arry[3];            //arry[0] => 0x0
    //char  arry[3][20] = {"hello", "world", "itcast"};
    //char *str = "hello";
    int i;

    for (i = 0; i < 3; i++)
        scanf("%s", arry[i]);        //使用二维数组申请字符串存储空间

    for (i = 0; i < 3; i++)
        printf("%s", arry[i]);

    return 0;
}
时间: 2024-12-10 23:58:27

C基础--指针数组的相关文章

C语言基础学习8:指针数组

一个数组,若其元素均为指针类型数据,称为指针数组,指针数组中的每一个元素都相当于一个指针变量. 一维指针数组的定义形式为: 类型名 *数组名[数组长度]: 例如:int *p[4]; []的优先级比*高,因此p先与[4]结合,形成p[4]形式,这是数组形式,然后再与p前面的"*"结合,"*"表示此数组是指针类型的,每个数组元素都可指向一个整型变量. 为什么要用到指针数组呢? 因为它比较适合于用来指向若干个字符串,使得字符串处理更加灵活. 1 #include <

C语言基础知识----指针数组 &amp;&amp; 数组指针 &amp;&amp; 函数指针 &amp;&amp;指针函数

指针数组 && 数组指针 char (*ptr)[5]; //定义一个指向数组指针ptr,指向包含5个char类型的数组 char *a[5]; //定义一个指针数组a,包含5个char*类型指针 #include <stdio.h> int main(void) {     char *a[5]={"red","white","blue","dark","green"};   

黑马程序员---C基础10【数组指针】【指针数组】【字符串指针】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [数组指针] 1.数组指针: 定义一个指针指向数组的某一个元素 数组元素指针:指针变量可以指向数组元素: 1)数组名a不代表整个数组,只代表数组首元素的地址: 2)是指向首地址,而不是每一个元素:  2.数组指针的引用: 在指针向数组元素时,允许以下操作 加一个整数(用+或+=),如p+1: 减一个整数(用-或-=),如p-1: 自加P++ 自减p--; 两个指针相减:p1-p2: P+1指向

C++基础之数组、指针与引用

一维数组的声明 ``` 数组类型 数组名 [常量表达式] ``` 常量表达式表示的是数组的个数,即数组的长度,且不能是变量. 一维数组的引用 ``` 数组名 [下标] ``` 一维数组的初始化 1.逐个对元素赋值 ``` char a[3] a[0] = 'a' a[1] = 'b' a[2] = 'c' ``` 2.聚合方式赋值 ``` int a[12] = [1,2,3,4,5,6,7] ``` 二维数组 ``` 数组类型 数组名 [常量表达式1][常量表达式2] ``` 下标运算中的整数

【C/C++学院】0726-cppIDE/一级指针/指针数组/函数指针/函数指针数组/二级指针

[送给在路上的程序员] 对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现. 对于一个架构师而言,掌握各种语言的优势并可以运用到系统中,由此简化系统的开发,是其架构生涯的第一步. 对于一个开发团队而言,能在短期内开发出用户满意的软件系统是起核心竞争力的体现. 每一个程序员都不能固步自封,要多接触新的行业,新的技术领域,突破自我. cppIDE 使用mfc和codeblocks中的mingw编译器.执行system命令中的bat批处理脚本. 一级指针 指针,结构体struct,

数组名和数组名取地址、指针数组和数组指针的区别

一,首先我们先分析下数组名和数组名取地址的区别. 我们都知道数组名是数组的首地址,然而对数组名取地址又是什么那?看下面一段程序你就会懂的. #include "stdafx.h"     #include<stdio.h>    using namespace std;    void main()    {          int a[5];          printf("%d\n", a);          printf("%d\n

c/c++(疑4) 指针数组和数组指针之间关系

 1 指针数组和数组指针概述(数组指针(指向数组的指针)与指针数组(存放指针的数组)) 指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定.它是"储存指针的数组"的简称. 数组指针:首先它是一个指针,它指向一个数组.在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.它是"指向数组的指针"的简称. 认识指针数组和数组指针从内存方面分析 1 int *ptr1[5]; 2 int (*ptr2)[5]; 要分析上面的问题

GO学习-(8) Go语言基础之数组

Go语言基础之数组 Array(数组) 数组是同一种数据类型元素的集合. 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化. 基本语法: // 定义一个长度为3元素类型为int的数组a var a [3]int 数组定义: var 数组变量名 [元素数量]T 比如:var a [5]int, 数组的长度必须是常量,并且长度是数组类型的一部分.一旦定义,长度不能变. [5]int和[10]int是不同的类型. var a [3]int var b [4]int a =

C#委托与C语言函数指针及函数指针数组

C#委托与C语言函数指针及函数指针数组 在使用C#时总会为委托而感到疑惑,但现在总新温习了一遍C语言后,才真正理解的委托. 其实委托就类似于C/C++里的函数指针,在函数传参时传递的是函数指针,在调用的时候通过指针访问这个函数. 在C语言中函数指针的申明如下: //可以理解为申明一个指着变量 Func ,它的类型是 返回Type(可以为 void )类型的参数,接收 (Type one,Type two,...)类型的//参数(可以不接受参数). Type *Func(Type one,Type