传智播客 C/C++学习笔记 数组和指针的关系, 字符串学习

 

 

 

【】和*星号的关系

数据名是常量指针

如果像指针一样操作,可以先申请一个指针变量,把数据地址赋给它,再操作。

111111111111111111

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <iostream>
using namespace  std;



int main()
{
	char a[] = "i am a student";
	char b[64];

	for (size_t i = 0; *(a+i) != '\0'; i++)
	{
		*(b + i) = *(a + i);
	}

	cout << a << endl;
	cout << b << endl;
	getchar();
	return 1;
}

22222222222222222

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <iostream>
using namespace  std;

void copy_str(char* from, char* to)
{
 for (; *from != '\0'; from++,to++)
 {
	 *to = *from;
 }
 *to = '\0';
	return;
}

int main()
{
	char *from = "abced";
	char buf[100];
	copy_str(from, buf);


	cout << from << endl;
	cout << buf << endl;
	getchar();
	return 1;
}

33333333333333333333333333

 

//++高于*,
void copy_str2(char* from, char* to)
{
	for (; *from != '\0'; )
	{
		*to++ = *from++;
		//先操作后++
		//*to = *from, from++ = to++;
	}
	*to = '\0';
	return;
}

4444444444444444444444444444

void copy_str3(char* from, char* to)
{
	while (	(*to = *from) != '\0')
	{
		from++;
		to++;
	}

	return;
}

555555555555555555555555

void copy_str4(char* from, char* to)
{
	while (	(*to++ = *from++) != '\0')
	{
		;
	}

	return;
}

66666666666666666666666

void copy_str5(char* from, char* to)
{
	while (	*to++ = *from++)
	{
		;
	}

	return;
}

77777777777777777777777777777

void copy_str7(char* from, char* to)
{
	if (from ==NULL || to == NULL)
	{
		return;
	}
	while (	*to++ = *from++)
	{
		;
	}

	return;
}

子程序里用from会出错,from的值变化了,为了避免这个,可以有个中间变量。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值