【C语言提高14】字符串的基本操作

来源:互联网 发布:手机编程用什么语言 编辑:程序博客网 时间:2024/06/05 00:17

一级指针的典型用法
数组
字符串
1.C语言的字符串  以零结尾的字符串
2.在C语言中没有字符类型  通过字符数组来模拟字符串
3.字符串的内存分配  堆 栈  全局区


字符数组  初始化:

<span style="font-size:18px;">void main(){//1指定长度char buf2[100] = { 'a', 'b', 'c', 'd' };//1-1char buf3[2] = { 'a', 'b', 'c', 'd' };  //如果个数大于内存个数  报错//1-2  后面未初始化的元素自动置0//2不指定长度       c编译器会自动帮程序员求元素的个数char buf1[] = {'a','b','c','d'};//buf1是一个数组 不是一个以'\0'结尾的c风格的字符串printf("buf2 %s\n",buf2);printf("buf[80]: %s\n", buf2[80]);system("pause");}</span>

用字符串来初始化字符数组:

       strlen()  sizeof()的区别

 

<span style="color:#000000;">void main(){//buf3是一个以‘\0'结尾的c风格的字符串    char buf3[] = "abcd"; //作为字符串 应该是4个字节 //作为字符数组 应该是5个字节int len = strlen(buf3);//strlen是一个求字符串长度的函数printf("buf3字符串长度:%d",len);//4个字节//buf3作为数组 是一种数据类型 本质(固定大小内存块的别名)int size = sizeof(buf3);//sizeof()是一个用来求内存空间大小的操作符      printf("buf3数组所占内存空间大小长度:%d", size);//5个字节{char buf4[128] = "abcd";//后面自动补0printf("buf4[100]:%d", len);}system("pause");return;</span>

用数组下标和指针操作字符串:
 
void main(){int i = 0;char*p = NULL;char buf5[128] = "abcdefg";for (; i < strlen(buf5); i++){printf("%c",buf5[i]);}p = buf5;//数组名代表首元素的地址for (i=0; i < strlen(buf5); i++){printf("%c", *(p+i));}for (; i < strlen(buf5); i++){printf("%c", *(buf5+i));  //buf5[i]会被编译器翻译成*(buf5+i)}//[] 和 *的推导过程//buf5[i]==>buf5[0+i]==>*(buf5+i)system("pause");return;}





























0 0
原创粉丝点击