返回信息流char *strs1={};
char *strs2={""};
这两有什么区别吗?
这是一条镜像帖。来源:北邮人论坛 / cpp / #85723同步于 2015/3/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
C语言字符串数组的困惑
ahfytao
2015/3/5镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
第一个strs1这个变量的值为0,即空指针,不指向任何地址。
第二个strs2这个变量指向“”的地址,“”并不是没有字符,里面还有‘/0’。程序先将“”(‘/0’)存储在静态变量区中然后将地址给strs2。
【 在 ahfytao 的大作中提到: 】
char *strs1={};
char *strs2...
额 = =让我先分析一下你的命名
strs1 是数组,数组里面存放 指向char型 的指针
但是 数组的大小没有指定咧 数组的内容也不是这样赋值的啊
【 在 ahfytao 的大作中提到: 】
: 手残了,修正一下char *strs1[]={}; char *strs2[]={""};,这两的区别.......
【 在 sxy0322 的大作中提到: 】
: 第一个strs1这个变量的值为0,即空指针,不指向任何地址。
: 第二个strs2这个变量指向“”的地址,“”并不是没有字符,里面还有‘/0’。程序先将“”(‘/0’)存储在静态变量区中然后将地址给strs2。
: char *strs1={};
: ...................
直接上题吧https://oj.leetcode.com/problems/longest-common-prefix/,求这题的C语言AC代码。
个人认为char *str1[]={}代表str1[0]==NULL。char * str2[]={""},代表str2[0][0]=='\0'。
char *str1[] ={} 这样定义是不符合标准的,因为你定义了一个大小为0的数组,在vs2013里编译是通不过的,在linux下用GCC能编译通过,但是它的用处和你想的不一样,一般都不建议这么做。
参考 http://my.oschina.net/u/176416/blog/33054
【 在 ahfytao 的大作中提到: 】
: 直接上题吧https://oj.leetcode.com/problems/longest-common-prefix/,求这题的C语言AC代码。
: 个人认为char *str1[]={}代表str1[0]==NULL。char * str2[]={""},代表str2[0][0]=='\0'。
楼主学Python吧。没这么多纠结。
strs1 = [] # a list of nothing
strs2 = [""] # a list of one string. That string is empty.