C语言指针字符串【C语言学习笔记】

2022-10-26 16:09:13 浏览数 (1)

指针字符串的正确表达:

代码语言:javascript复制
    char a[] = "hello"; //ok
    char *b="hello"; //ok
    char c[10];c[10]="hello"; //error
    char c[10];c="hello"; //error
    char *d;d="hello"; //ok
    char e[]={"hello"}; //ok
    char *f={"hello"}; //ok
    char *g;g={"hello"}; //ok

数组字符串:

char a[]="hello";

a是常量,不能改变a的值。

指针字符串:

char *b="hello";

b是变量,实际上把字符串的第一个字符的内存地址赋值给指针变量b。

注意:

使用字符数组定义字符串,字符串为字符串变量

使用字符指针定义字符串,字符串为常量

例题:将字符串复制到字符串b,输出字符串b

代码语言:javascript复制
#include<stdio.h> 
int main(){
    char a[]="hello";  //int *a="hello"
    char b[10];
    char *p1,*p2;
    p1=a;p2=b;
    while(*p1!=''){
        *p2=*p1;p1  ;p2  ;
    }
    *p2='';
    puts(b);
    return 0;
}

例题:统计指针变量a所指的字符串中小写字符出现的次数,并存放到指针变量b中。使用函数完成。

char *a = “sdasdasFDSFFasasd”;

代码语言:javascript复制
#include<stdio.h> 
int main(){
    void fun(char *a,int *b);
    char *a="sadasdFFDSFDSdsadas";
    int n=0;
    fun(a,&n);
    printf("%d",n);
    return 0;
}
void fun(char *a,int *b){
    int num=0;
    while(*a!=''){
        if(*a>='a'&&*a<='z')num  ;
        a  ;
    }
    *b=num;
}

0 人点赞