初学指针与数组的一点理解

初学指针与数组的一点理解,第1张

初学指针与数组的一点理解 契机——初学字符串的经典赋值错误
char str[20]="Hello World";
str="Heeello"			//错解,不能将char[]赋值给*char
strpy(str,"Heeelo");	//正解,另需头文件

[Error] incompatible types in assignment of ‘const char [8]’ to ‘char [20]’

代码
#include 

int main(){
	char str[20]="Hello World";
	
	printf("%sn",str);				//从str[0]的值开始,输出n前的所有字符
	printf("%sn",str+1);			//从str[1]的值开始,输出n前的所有字符
	printf("n");
	
	printf("%cn",*str);			//输出地址str所对应的值,即str[0]的值'H'
	printf("%d %dn",str,&str[0]);	//输出str的地址,即str[0]的地址
	printf("n");
	
	*str='h';						//将str[0]的值改为'h',等价于str[0]='h' 
	printf("%cn",*str);			//输出地址str所对应的值,即str[0]的值'h'
	printf("%d %dn",str,&str[0]);	//输出str的地址,即str[0]的地址
	printf("n");
	
	printf("%sn",str);				//从str[0]开始,输出n前的所有字符
	
	return 0;
}
输出

Hello World
ello World

H
6487552 6487552

h
6487552 6487552

hello World

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5713693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存