字符串指针初始化
来源:百度知道 编辑:UC知道 时间:2024/05/31 19:07:03
char *s="china";
等价于char *s;
s="china";
应该是把数据段“china”的首地址给指针s,而不是整个内容啊,为什么这个还是对滴捏?
等价于char *s;
s="china";
应该是把数据段“china”的首地址给指针s,而不是整个内容啊,为什么这个还是对滴捏?
char *s="china";
等价于char *s;
s="china";
这是两种赋初值的方法,第一种是在定义的时候赋初值,第二种是先定义,再在以后赋初值,它们的结果都上让指针s指向首地址,也就是指向了内容的第一个字母c~~好好看看c语言程序设计那本书~~
这个“china”这个相当于数组。
他们在存储单位里的地址是相连着的。
所以当你把首地址给打针s的时候,他就知道后面的所有字符了。
楼主要把china整个看着一个整体,存放在存储单位
在此例中,china作为常量存储于程序中,所以,只要传递一个首地址就可以了。
因为对字符数组的调用都是通过首地址进行的。
#include<stdio.h>
void main()
{
char *s,p[]="china";//这样分解看清楚点了嘛.
s=p;
printf("%s",s);
}
s="china"就是把首地址给指针S啊;