The C Programming Language 学习(12)——指针与数组 strcat

指针是保存地址的变量,使用指针可以灵活的处理数组和字符串。例如:

char ch[10]; //定义一个字符数组

char *str; //定义字符指针

str=ch; //指针初始化,ch为数组的首地址

地址表现为一个整数,但是地址和整数之间不能互相转换。如果定义int a; int *p;那么 p=a;p=10;a=p;这样的赋值都是错误的;可以用取地址操作符&,操作数必须是变量,不能是表达式、常数,例如p=&a;指针可以进行算术运算,使用++运算符方便访问数组。

*str++;// 运算符自右向左结合,取str指向的元素,然后str加1

(*str)++; // 取str指向的元素,然后该元素加1

下面通过写一个strcat函数,实现把字符串t添加到s的末尾(s中要有足够的空间),来熟悉指针与数组的操作。

#include<stdio.h>
#define MAXCHAR 1000
void MyStrcat(char*s,char*t);
int main() {
	char s[MAXCHAR]="the c prog";
	char t[MAXCHAR]="ramming language";
	MyStrcat(s,t);
	printf("%s",s);
	return 0;
}
void MyStrcat(char*s,char*t) {
	while(*s)s++; //s移动到结束符s->'\0' 
	while(*s++=*t++); //t添加到s末尾 
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值