`

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

    博客分类:
  • C++
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
分享到:
评论

相关推荐

    指针数组和数组指针的区别.doc

     char *a[]定义了一个指针数组,注意不是char[], char[]是不能同时初始化为三个字符的,定义以后的a[]其实内部有三个内存位置,分别存储了abc\0,cde\0,fgh\0,三个字符串的起始地址,而这三个位置的内存地址却不是这三个...

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

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

    详解C语言中Char型指针数组与字符数组的区别

    详解C语言中Char型指针数组与字符数组的区别 1.char 类型的指针数组:每个元素都指向一个字符串,指向可以改变 char *name[3] = { abc, def, gbk }; for(int i = 0 ; i &lt; strlen(name); i ++){ printf(%s\n,...

    C语言程序设计-指针与字符串.pptx

    用字符串常量为字符指针初始化,其形式与字符数组的初始化类似,却有本质上的区别:字符数组获得字符串所有的字符,而字符指针获得字符串首地址,与字符串内的字符无关。 【例8.4】用指向字符串的指针变量完成两个...

    字符串逆序的几种方法字符串逆序的几种方法 1.普通逆序 分配一个与原字符串等长的字符数组; 反向拷贝一下即可 char* r

    分配一个与原字符串等长的字符数组; 反向拷贝一下即可。 char* reverseString(char* s) { //将q指向字符串最后一个字符 char* q = s ; while( *q ) { q++; } q -= 1 ; //分配空间,存储逆序后的字符串...

    学习C++指向字符数组的指针

    1、数组名是第一个元素的地址;  2、指针保存的是另一个对象的地址...  5、无法使用string对象初始化char指针,但是string类提供了一个名为c_str的成员函数,以实现此要求;  6、可以使用指向char数组的指针,构

    深入解析C++中的指针数组与指向指针的指针

    指针数组定义:如果一个 数组,其元素均为指针型数据,该数组为指针数组,也就是说,指针数组中的每一个元素相当于一...使用指针数组中各元素分别指向若干个字符串,使字符串的处理更加灵活。 程序1.1 代码如下:#inclu

    C语言全书word版CHAR10

    10.4.2 使用字符串指针变量与字符数组的区别 28 10.5 函数指针变量 29 10.6 指针型函数 30 10.7 指针数组和指向指针的指针 31 10.7.1 指针数组的概念 31 10.7.2 指向指针的指针 34 10.7.3 main函数的参数 36 10.8 ...

    C语言 字符串指针详解及示例代码

    C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,这在《C语言字符数组和字符串》中已经进行了详细讲解,这里不妨再来演示一下: #include int main(){ char str[] = ...

    关于C++中char型变量的地址输出

    解决C/C++中char型变量的地址输出乱码的问题。为什么会出现这样现象,因为字符串是以空终止符('\0')结尾的字符数组,通过字符串中第一个字符的指针访问字符串。字符串的值是字符串中第一个字符的(常量)地址

    解析C++中的字符串处理函数和指针

    该函数有两个字符数组的参数,函数的作用是:将第二个字符数组中的字符串连接到前面字符数组的字符串的后面。第二个字符数组被指定为const,以保证该数组中的内容不会在函数调用期间修改。连接后的字符串放在第一个...

    本示例是一个使用C语言中char数据类型的代码示例,该代码读取用户输入的字符,并打印其ASCII值

    3. 字符串常量:字符串在 C 语言中是由多个字符组成的字符数组,因此使用 `char` 关键字可以声明和表示字符串常量。例如:`char* str = "Hello";`,`str` 是指向字符串常量 "Hello" 的指针。 4. 字符型函数返回值:...

    线性表的顺序实现(数据元素是字符数组)&&字符数组名和指向它的指针区别详解

    那么name是一个地址常量,值是一个字符串的首地址,注意它是常量,是不能四则运算的,所以这时候: printf(%s,name[20]);是不行的,name是常量,怎么能+20呢? 实现代码: #include #include #include #define

    计算机基础与程序设计.doc

    可将字符串 I am a boy 赋给数组c,下面正确的选项有( ) (分数:2分) A. c= I am a boy B. getchar(c) C. gets(c) D. scanf( %s ,c) E. for(i=0;i;i++) scanf( %c ,&c[i];c[10])='\0' 正确答案:CE 2、设有定义...

    判断2个字符串是否含有相同的字符

    (关于空间的占用,如果要用一个和字符串a一样长的数组counter来计录a中各起点对应与b最大重合子字符串,这个数组也要和a一样长,空间上也不合适,除非情形很特殊,a短b长,不然不如直接malloc()一个堆空间来储存...

    C++中字符串以及数组和指针的互相使用讲解

    C++字符串与指针 在C++中可以用3种方法访问一个字符串(在第5章介绍了前两种方法)。 用字符数组存放一个字符串 【例】定义一个字符数组并初始化,然后输出其中的字符串。 #include using namespace std; int ...

    C语言字符串题目以及感悟

    ⑴ 编写函数int FindNoVowel(char *str[],int num,char res[][20]),str指向的指针数组中保存若干单词字符串的首地址,num保存单词的个数,res指向的数组保存找到的符合条件的单词字符串,每行存放一个单词,要求将...

    C语言二维数组传参示例

    C语言中,二维数组的参数传递。 例如: char str[5][100]; 如果作为参数传递,内有详细示例。 三种传参示例供参考。

    VC++中字符串的处理

    CString ,BSTR ,LPCTSTR之间关系和区别CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,...

Global site tag (gtag.js) - Google Analytics