`

字符串指针与char型指针数组

    博客分类:
  • C++
阅读更多

一、字符串指针

字符串是一种特殊的char型数组,指向char类型数组的指针,就是字符串指针。与普通指针一样,字符串指针在使用前也必须定义。字符串与char数组的区别在于长度,字符会自动在尾部加上一个长度‘\0’,而char型数组的长度就是其字符的个数。字符串长度是字符个数+1。例:

#include<iostream>
using namespace std;
int main()
{
    char str[]="hello world";
    char *p=str;
    cout<<str<<endl;
    cout<<p<<endl;
    cout<<*p<<endl;
    system("pause");
    }



二、char型指针数组

指针数组的元素是指针。与普通指针类似,指针数组在使用前也必须先赋值,否则可能指向没有意义的值,这是比较危险的。以char型指针数组为例。

int main()
{
    char *p[5]={"abc","def","ghi","jkl","mno"};
    for(int i=0;i<5;i++)
    puts(p[i]);
    system("pause");
    }

对于int型数据,如下:

#include<iostream>
using namespace std;
int main()
{
    int a=1,b=2,c=3;
    int *p[]={&a,&b,&c};//不能写成int *p[]={1,2,3},这是不合法的。 
    for(int i=0;i<3;i++)
     cout<<p[i]<<endl;//打印出地址(指针) 
     system("pause");
    }



三、对比int型和char型数组的数组名和取地址

#include<iostream>
using namespace std;

int main()
{
    int a[]={1,2,3};
    char b[]={'a','b','c'};
    cout<<a<<endl;
    cout<<&a<<endl;
    cout<<b<<endl;
    cout<<&b<<endl;
    system("pause");
    }


更多详细信息请查看java教程网 http://www.itchm.com/forum-59-1.html
分享到:
评论

相关推荐

    C语言中的字符串数组和字符串指针.pdf

    在C语言中,字符串数组和字符串指针是处理字符串的两种常用方法,它们在定义、引用、数据空间、存储单元分配和赋值方面各有特点和区别。 首先,字符串数组是由多个字符型元素构成的集合,它在内存中占据连续的存储...

    字符数组与字符指针

    ### 字符数组与字符指针详解 #### 一、引言 在C/C++编程语言中,字符数组和字符指针是非常重要的数据类型,尤其是在处理文本数据时。这两种类型的使用非常广泛,但在实际编程过程中,不少开发者往往会在它们之间...

    C语言字符串指针(指向字符串的指针)_C语言中文网1

    字符串指针是指向字符数组的指针,通常用于表示字符串的开始位置。字符串常量在内存中是连续排列的,因此可以使用指针逐个访问字符直到遇到空字符'\0'。例如,`char *pstr = "example"`,`pstr`就是一个字符串指针...

    C#将字符串数组传递给C++ DLL.rar

    其中,`count`表示字符串的数量,`strings`是一个指向字符串数组的指针数组。 2. **在C#中创建P/Invoke调用**: 在C#中,我们需要使用P/Invoke特性来调用C++ DLL。首先,添加`DllImport`属性来指定DLL的位置和...

    请用指针数组的方法将字符串排序

    例如,在给定代码中,`char*name[]`就是一个指针数组,它包含了五个字符串的地址:"china"、"sdffg"、"tadjg"、"pglri"、"fggrl"。 #### 排序函数 接下来,实现一个排序函数`sort`,该函数接收指针数组和数组长度...

    字符数组字符指针sizeofstrlen的一点总结

    ### 字符数组与字符指针详解 #### 一、字符数组与字符指针的基本概念 在C语言中,字符数组和字符指针是处理文本数据的两种常见方式。字符数组通常用于存储固定长度的字符串,而字符指针则用于指向字符串的首地址。...

    整形数组与字符数组相互转换

    在“整形数组与字符数组相互转换”的场景中,主要涉及以下几个关键知识点: 1. 数据类型转换:C/C++中,我们可以使用强制类型转换(static_cast、reinterpret_cast等)将一个类型的变量转换为另一个类型。在本例中...

    C++课程-3_数组指针与字符串

    指针数组允许你存储一组指针,每个指针可以指向不同的数组或字符串。动态内存分配则可以在运行时决定数组的大小,这对于处理不确定数量的数据特别有用。 总的来说,“C++课程-3_数组指针与字符串”将帮助你理解如何...

    C语言第讲指针与字符串字符数组PPT课件.pptx

    2. **字符串指针作为函数参数** 在C语言中,函数参数传递时,字符串通常通过字符指针传递。例如,函数`cpystr()`接收两个字符指针,其中一个用于接收复制后的字符串。通过字符指针,可以实现字符串的拷贝,如`...

    C语言教学课件:14-3_指针数组(用于处理二维数组或多个字符串).ppt

    在C语言中,指针数组是一种重要的数据结构,广泛应用于字符串处理、矩阵运算和动态存储管理等领域。本文将详细介绍指针数组的定义、使用和应用。 一、指针数组的定义 指针数组是一种特殊的数组,它的元素是指针。...

    第5讲 指针高级之指针数组-将若干字符串按字母顺序(由小到大)输出

    本讲将深入探讨指针数组的应用,特别是如何利用指针数组将多个字符串按照字母顺序进行排序并输出。首先,我们需要理解指针和数组的基本概念。 指针是C语言中的一个重要特性,它存储了一个变量的内存地址。通过指针...

    第9章 指针和数组-4指针数组及其应用 - 用指针数组表示多个字符串1

    指针数组与指向数组的指针是C语言中两种不同的概念。指针数组是一种数组,其元素是不同类型的指针,比如`char *p[5]`。而指向数组的指针,如`int (*p)[5]`,是一个指针,它指向一个含有5个整数的数组。这两种类型在...

    char、char*、char**数组的区别

    ### char、char*、char** 数组的区别 在C/C++编程语言中,`char`、`char*` 和 `char**` 分别代表了不同的数据类型和它们的应用场景。...这对于高效地进行字符串操作和其他与内存管理相关的任务非常有帮助。

    c#调用VC编写的DLL 涉及到字符串 字符串数组用法

    - C++DLL可能会返回一个字符串数组,这时我们需要创建一个`IntPtr`数组来接收指针,然后逐个转换为C#的字符串。同样,别忘了释放内存。 - 示例: ```cpp extern "C" __declspec(dllexport) char** GetStrings...

    C语言:数组、指针与字符串(简易入门、精髓)

    在C语言中,数组、指针和字符串是基础且重要的概念,它们构成了C语言的核心特性。数组是一系列相同类型变量的集合,可以是一维、二维或多维的。数组的声明通常采用`类型名 数组名[常量表达式]`的形式,例如`int a[10...

    指针数组为字符串排序:1、冒泡排序 2、快速排序

    指针数组为字符串排序,char* str[] = { "beijing","guangdong","shanghai" };进行排序,内涵冒泡排序和快速排序,原理:更改指针指向

    C语言34:用指针数组作为函数的参数显示多个字符串.rar

    本主题将深入探讨如何使用指针数组作为函数参数来显示多个字符串。指针数组结合了指针和数组的特性,使我们能够灵活地处理一系列相关的数据。 首先,我们要理解指针的基本概念。指针是一个变量,它存储的是另一个...

    C语言程序设计数组字符串指针实用教案.ppt

    C语言程序设计数组字符串指针实用教案 一维数组的定义和使用方法 在C语言中,数组是一种构造数据类型,它可以存储多个相同类型的数据元素。数组的定义形式为:类型符 数组名 [常量表达式] ;其中,类型符是基本...

    C语言合并多个char *类型的字符串

    在给定的场景中,`main.c`文件是测试程序,它调用了`tools.h`头文件中定义的`MultiCombine`函数,这个函数的目的是将一个`char *`数组(字符串指针数组)合并成一个新的字符串。让我们深入探讨一下这个过程涉及的...

Global site tag (gtag.js) - Google Analytics