C语言的字符串(篇章之二)

作者: 遮天的龙 | 来源:发表于2016-05-31 23:23 被阅读118次

指针数组

【一】定义:
指针用于存储地址,它和数组名紧密的联系在一起。而上章我们讲的字符串呢?如果一个数组的元素是字符指针呢?一维呢?二维呢?还有多维的呢?
对此,我们这样是这样定义的:如果一个数组中的各个元素都是字符指针,我们就称该数组为字符指针数组(指针数组)。

char *name[] 就是一个指针数组。

【二】指针数组的具体应用
(1)使用指针创建字符串

  • 其实,字符串的定义自动就包含指针。
    eg:

    定义number1[100];其就为100个字符声明存储空间,并自动的创建一个包含指针常量number1,是存储的是number1[0]的地址。

切记,跟一般的常量一样,指针常量指向是明确的,不能被修改。

  • 而用指针创建字符串。
    eg:
    char *number2="how are you?";
    这个number1和number2是不同的,number1是按照数组定义方式定义的,而number2本身就是一个指针变量,它只是通过显式的方式明确了 一个指针变量。
    (2)使用指针的指针访问字符串数组
    #include <stdio.h>
    int main(void)
    {
    char *array[]={"xiaoMing","xiaoHong","xiaoTao"};
    char *p; //指针的指针
    int i;
    for(i=0;i<4;i++)
    {
    p=array+i; //指针的指针p指向array+i所指向的字符串的首地址
    printf("%s\n",
    p); //输出数组中的每一个字符串
    }
    return 0;
    }
    【三】指针数组和数组指针的应用区别:
    在本章节中【一】和【二】系统介绍了指针数组。我们就介绍一下数组指针吧。
  • 我们在前面的章节有介绍了数组以及指针,其实就是它们的复合运用。由于本人的整个逻辑安排以及篇章分配的整体性。我就在这简单举个例子吧。以后拿个项目来来交流交流。

数组指针的一般形式为:type (*) []
eg:

int (*p)[40]。指针p用来指向含有40个元素的整型数组。

例子:

 #include <stdio.h>
 int main(void)
 {
   int array[2][4]={1,2,3,4,5,6,7,8};
   int i,j;
   int (*p)[4];
   p=array;    //p指向array下标为0那行的首地址
   for(i=0;i<2;i++)
   {
     for(j=0;j<4;j++)
     printf("array[%d][%d]=%d\n",i,j,p[i][j]);
   }
   return 0;
 } 

相关文章

  • C语言的字符串(篇章之二)

    指针数组 【一】定义:指针用于存储地址,它和数组名紧密的联系在一起。而上章我们讲的字符串呢?如果一个数组的元素是字...

  • C语言的文件(篇章之二)

    【7】、文件的读写 字符I/O:fputc与fgetcfputc函数原型: 功能: 返回值: fgetc函数原型:...

  • C语言的结构体(篇章之二)

    结构体与函数 一、结构体作为函数的参数 【一】、传值调用方式在函数之间直接传递结构体类型的数据——传值调用方式。当...

  • C语言的字符串(篇章之一)

    一、字符串常量: [本质]我们都把使用双引号包含的任意字符序列称为字符串,也有人把字符串称为字符串常量。特别注意字...

  • C语言的指针(进阶篇章之二)

    指针遇到数组,不得不说的“秘密” 说起数组array[i]来,我们都知道:数组名“array”是数组的唯一标识符,...

  • C语言的链表(篇章之二:动态链表)

    一、【链表的创建】: 【1】、空链表: 【2】、头插法; 【3】、尾插法: 二、【链表的遍历和查找】: 链表的结构...

  • C语言- 字符、字符数组

    字符数组和字符串 C语言中没有字符串这种数据类型,C语言中通过char型数组来替代字符串的功能。C语言中的字符串一...

  • 2018-05-13

    C语言:c语言中没有字符串类型,也没有字符串变量,字符串是放在字符型数组中的。 C语言数变量类型:整型、浮点型、v...

  • Redis 源码简洁剖析 02 - SDS 字符串

    C 语言的字符串函数 C 语言 string 函数[https://devdocs.io/c-strings/],...

  • C++11新特性(20)-用string对象处理文件名

    C风格字符串 从C语言开始,就已经实现了对字符串的支持。为了处理C风格字符串,C语言标准库提供了一组函数,它们被定...

网友评论

    本文标题:C语言的字符串(篇章之二)

    本文链接:https://www.haomeiwen.com/subject/wpqhdttx.html