C ++ 指针 | 指针与字符_4

指针与字符

1、

直接上码:

#include<iostream>
void print(char* C)
{
    int i = 0;
    while(C[i] != '\0')
    {
        printf("%c", C[i]);
        i++;
    }
    printf("\n");
}
int main()
{
    char C[20] = "Hello";
    print(C);
}

运行结果:

注意:

(1)

while(C[i] != '\0')

换成:

while(*(C+1) != '\0')

效果都一样。

(2)

存储在数组里面的字符结尾是有个 '\0' 作为结束语。

2、

#include<iostream>
void print(char* C)
{
    int i = 0;
    while(*C != '\0')
    {
        printf("%c", *C);
        C++;
    }
    printf("\n");
}
int main()
{
    char C[20] = "Hello";
    print(C);
}

运行结果:

注意代码:

    while(*C != '\0')
    {
        printf("%c", *C);
        C++;
    }

也是可以的。C++ 表示内存地址的递增,*C表示地址中的值。

3、

#include<iostream>
void print(char* C)
{
    int i = 0;
    while(*C != '\0')
    {
        printf("%c", *C);
        C++;
    }
    printf("\n");
}
int main()
{
    char *C = "Hello";
    print(C);
}

运行结果:

注意:

char *C = "Hello";

在 main() 函数使用这个方法跟 C[20] 输出一样的。

4、

改变字符串:

#include<iostream>
void print(char* C)
{
    C[0] = 'A';
    while(*C != '\0')
    {
        printf("%c", *C);
        C++;
    }
    printf("\n");
}
int main()
{
    char C[20] = "Hello";
    print(C);
}

运行结果:

5、

把char* C 设置了常量:const char* C

#include<iostream>
void print(const char* C)
{
    C[0] = 'A';
    while(*C != '\0')
    {
        printf("%c", *C);
        C++;
    }
    printf("\n");
}
int main()
{
    char C[20] = "Hello";
    print(C);
}

运行结果:

注意:

*C现在是常量,不能被修改。所以报错。

不更改C数组,就能够运行正常。


编程中最没用的东西是源代码,最有用的东西是算法和数据结构。

猜你喜欢

转载自blog.csdn.net/sw3300255/article/details/84936843