给结构里的char指针赋值的一个难点
来源:互联网 发布:nginx 第三方模块 编辑:程序博客网 时间:2024/06/11 14:12
struct msg{
char *p1;
char *p2;
}myptrs;
myprts.p1 = "Teach Yourself C In 21 Days";
myprts.p2 = "By SAMS Publishing";
就是这里赋值不理解,赋给p1的应该是地址才对啊,怎么是字符串?
还有,为什么不是'Teach Yourself C In 21 Days';
而是
"Teach Yourself C In 21 Days";
什么时候用单引号,什么时候用双引号?
*************************************
回复人: mystaring(龙的传人)
就像char p1[5]="abcd"一样,p1只是一个地址,指向字符串的首地址,输出时遇到'/0'时结束。
printf("%s",p1); 会输出abcd;
但若开始时定义为char p1[4]="abcd"则输出的字符串会不止abcd,后面还有乱码,因为机器会一直遇到内存中的'/0'才结束
*************************************
回复人: foochow(恰似你的温柔)
单引号用来给出一个字符常量,而双引号用来给出一个字符串常量,前者(字符常量)由编译器直接算出对应值,赋给某个变量或参加表达式的运算,它并不会在内存中占用空间,而后者(字符串常量)则会在内存中分配一定的单元放字符串,并把其起始地址传给一个指针或是作为函数的某个参数.
*************************************
回复人: kgdiwss(∮明天去要饭)
换句话说:
myprts.p1 = "Teach Yourself C In 21 Days";
myprts.p2 = "By SAMS Publishing";
这里赋给p1和p2的,是字符串"Teach Yourself C In 21 Days"和"By SAMS Publishing"的首地址是吧。如果*p1和*p2读的话,会从首地址开始读,直到读到/0为止。是这样理解吗?
不过printf("%s",p1);这个p1保存的不是地址吗?怎么可以把地址输出成%s啊。为什么不是:
printf("%s",*p1);
*************************************
回复人: foochow(恰似你的温柔)
不过printf("%s",p1);这个p1保存的不是地址吗?怎么可以把地址输出成%s啊。为什么不是:
printf("%s",*p1);
.................
这个就是字符串指针的特殊地方,输出指针的时候printf("%s",p1),就会输出p1指向的字符串的字符直到'/0'为止,printf("%s",*p1);这个只输出一个字符.
*************************************
感谢以上朋友的回复。
- 给结构里的char指针赋值的一个难点
- 将char[][] 赋值给char**的结果
- 给结构体里定义的二维数组赋值
- vs2005里auto_ptr的指针赋值一个陷阱
- 用指针给数组赋值的一个小问题
- 字符串赋值给字符指针(char *a="hello")的正确理解方式
- 字符串赋值给字符指针(char *a="hello")的正确理解方式
- 字符串赋值给字符指针(char *a="hello")的正确理解方式
- 简单的问题:char指针无法赋值
- 结构体里的结构体。赋值
- string变量赋值给char *p指针
- 给char数组或者结构体赋值
- 关于数组给指针赋值的问题
- 用showmodal窗口给用户控件里的一个控件赋值的问题.
- PL/SQL里拼接SQL的查询结果赋值给一个变量
- 含有空字符0的char 字符串给string赋值
- 将char* 赋值给std::string的一些陷阱
- char数组和指针与CString之间的赋值问题
- ASP.NET页面间的传值的几种方法
- Asp.net 中DataGrid多个参数链接设置
- 插入数据库的文章的处理!
- ASP.NET 中 Cookie 的基本知识
- 一些好网址
- 给结构里的char指针赋值的一个难点
- 注意新技术的风险是否会超过获得成功的几率
- 电脑的经历!现象:每当在windows正在启动处要等很长时间,硬盘没有反映。
- 让Asp.NET的DataGrid可排序、可选择、可分页
- Drag and Drop: Customizing-自定义拖放
- 分享Ebook的网站
- 数据对象和数据源(OLE)
- Wap开发FAQ大全
- 杂感