C语言之字符串与指针
来源:互联网 发布:维多利亚2 mac 中文 编辑:程序博客网 时间:2024/05/18 18:20
1、字符串的存储与访问
字符串的访问
char str[N];
第i个字符的地址:str+i
第i个字符:*(str+i)
思考???
以下写法是否正确?
char s1[N];
s1[]=“Welcome”;
s1=“Welcome”;
错误!必须逐一赋值或使用函数,且数组长度要足够大。
可以使用字符指针解决:
char *s;
s=“Welcome”;
或:char *s=“Welcome”;
通过++运算指向下一个字符。
练习:
1、若有如下定义和语句,请写出通过指针p取出
字符‘g’的表达式:*(p+6)
char s[13]="abcdefghijk", *p=s;
2、下面程序的输出结果为:
void main( )
{ char *p,s[ ]="ABCD";
for(p=s;p<s+4;p++)
printf("%s",p);
}
ABCD
BCD
CD
D
3、写出程序的运行结果:
#include <string.h>
main( )
{
char *p="abcdefg";
printf("%d",strlen(p));
}
5
五、 指针数组
指针数组:
数组的所有元素都是指针类型数据(指针变量)。
定义形式:
类型名 *数组名[元素个数];
例如:char *name[10];
具体应用:一般用于处理一组字符串数据。
应用举例:
char *name[]={“Tom”,”Mike”,”Mary”,”Peter”};
for(i=0;i<4;i++)
puts(name[i]);
练习:可以加下群466572167(群内有各种项目学习资料)
1、定义a为共有5个元素的一维整型数组,同时定义p为指向a数组地址的指针变量的语句为
int a[5],*p=a;
2、设int x[ ]={1,2,3,4}, y, *p=&x[1]; ,则执行语句 y=(*--p)++后y的值为 --p为&x[0] 内容为:1 结果为1
?此时x[0]值变为多少?2
3、下面程序的输出结果为:
int *ptr;
int arr[]={6,7,8,9,10};
ptr=arr;
*(ptr+2)+=2;
printf("%d,%d",*ptr,*(ptr+2));
6,10
4、若输入abcdef回车,写出程序的运行结果:
#include "string.h"
func(char str[])
{int num=0;
while(*(str+num)!='')
num++;
return num;
}
void main( )
{ char str[10],*p=str;
gets(p);
printf("%d",func(p));}
- C语言之字符串与指针
- C语言之字符串与指针
- C语言:字符串与指针
- c语言字符串与指针
- C语言指针-----指针与字符串
- C语言之指针与字符串的相关操作
- c语言:字符串与字符串指针变量
- C语言中的字符串与指针
- C语言入门教程18-指针与字符串
- C语言中的指针与字符串
- C语言字符串、数组与指针结合
- C语言字符串指针---与数组0811
- C语言基础-指针与字符串19
- C语言基础之数组、字符串、指针
- 黑马程序员----C 语言学习笔记之数组指针与字符串指针
- C语言字符串指针
- C语言学习(六)指针3 字符串与指针
- C语言学习篇-10指针与字符串、函数指针
- Re0(单调栈)
- 百练4039:IP地址转换题解
- linux定时任务未触发
- Largest Rectangle in a Histogram
- HDU 6055 Regular polygon
- C语言之字符串与指针
- mysql 中 unix_timestamp和from_unixtime 时间戳函数
- 七大查找算法
- Ubuntu下 Nginx 反向代理 Apache、Tomcat
- 贝叶斯推断及其互联网应用(二):过滤垃圾邮件
- AndroidStudio使用Git上传项目至Github
- C语言之结构体与位操作篇
- 冒泡排序 鸡尾酒排序
- 1018. Public Bike Management (30)