浅谈char *str与char str[]的区别

来源:互联网 发布:猿粪网络语 编辑:程序博客网 时间:2024/06/06 11:01

        前段时间,在做一个工程,里面写到一个传值函数,把char str[]传给参数char *str,然后利用strncmp比较某两个字符串大小进行相关操作,结果strncmp我是用sizeof来指定比较的字符串的字节数的,结果strncmp竟然一直没法正确判断,顿时我很吃惊,不知道哪里有问题,后来将sizeof(str)的值打出来看了一下,竟然不是字符串的字符个数,而是比起小很多地一个值。

        于是将char *str和char str[]都赋成了“123456789”,结果,后面一个是正常的10个字节,前一个却只为4,后来仔细想了想,char *str的字节确实不应该为10,因为它是指向“123456789“这个字符串的指针,并不是这个字符串的本身,所以虽然它能表示该值,字节数却不是该值的字节数,于是果断把strncmp比较里的sizeof(str)改成strlen(str),因为在32为平台上,char是占一个字节的,所以strlen()的值就是该字符串的字节数。

        另外要注意指针需有内存地址空间了才能被使用,光声明一下如char *str是不能被使用的。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕六个月体重一天增加两斤怎么办 备孕同房后一直乳头立起来怎么办 夏天出汉内衣老是湿的怎么办 大腿旁边长了红色的癣怎么办 跑步膝盖疼怎么办能不能再跑了 两周宝宝剧烈运动后咳嗽怎么办 bra的M有点紧L有点宽怎么办 穿吊带总是会露出来左胸罩杯怎么办 生小孩后腰部有一圈黑色勒痕怎么办 新买的饮水机热水口出水小怎么办 新买的饮水机热水口不出水怎么办 平胸没有适合自己的内衣怎么办 售楼小姐穿坏的丝袜都怎么办了 蛋白粉一天喝十克补不起来怎么办 跑步时没有卸妆毛孔堵塞了怎么办 自己做的葡萄酒太甜了怎么办 健身馆碰到一个帅的健身教练怎么办 随着年龄的增长脖子越来越短怎么办 安装软件时解析包出现问题怎么办 鼻子吸进去的气往嘴巴里怎么办 做完瑜伽之后大腿后侧特别紧怎么办 刚下生小狗腿后腿站不起来怎么办 脚被凳子压到了流血了怎么办还很痛 小狗脚被凳子压出血了怎么办 怀孕8个月脐带绕颈一周怎么办 练完瑜伽大腿两侧肌肉麻木怎么办 突然吃了辣火锅肚子烫怎么办 副鼻窦炎鼻头顶痛鼻子臭怎么办 一岁宝宝夜里睡觉不踏实怎么办 分手一个月了还是放不下前任怎么办 当晚上遇到烦心事睡不着该怎么办 为什么白天太累晚上就睡不着怎么办 白天走累的脚痛晚上睡不着怎么办 1岁宝宝感冒咳嗽流泪流鼻涕怎么办 宝宝不含母乳只吃奶瓶怎么办 宝宝习惯奶嘴不咬妈妈的乳头怎么办 我的乳晕和私处色素沉着怎么办 双盘打坐膝痛腿脚心处紫青怎么办? 双盘打坐两膝盖不能着地怎么办? 做完蹲起之后腿疼的受不了怎么办 孩子游泳学不会不想去了怎么办