一:对字符串的 strlen() 与 sizeof

#include <string.h>
#include <stdio.h> int main(void)
{
char* p="helo 163\n";
printf("strlen:%d sizeof: %d",strlen(p),sizeof(p));
}

输出:strlen:9  sizeof: 8

关于C字符的几种定义方法:http://hanxuedog.iteye.com/blog/1299186

关于sizeof和strlen()介绍:http://baike.baidu.com/link?url=JXd1hQfX4jLPzLfkKrOBkNSALUy4mF4Qu3BkhHowWhUseSu1WK8CD8FoZsZLgZ9kbqER1WetGbFCUdTBNzR_fq

int strlen(char *s)函数返回从内存位置s开始,直到碰到第一个字符串结束符'\0'为止的(不包括)字符的个数,编译器自动添加了‘\0’,strlen()结果没问题,换行符也算

sizeoff返回的是变量声明后所占的内存数,此外sizeof不是函数,仅仅是一个操作符.此例子中sizeof求得的是指针p这个变量所占的内存大小......指针类型在我的电脑占8个字节
#include <string.h>
#include <stdio.h> int main(void)
{
char* p="helo 163\n";
printf("strlen:%d sizeof: %d\n",strlen(p),sizeof(p)); char* t;
printf("sizeof(int):%d sizeof(char):%d sizeof指针:%d\n",sizeof(int),sizeof(char),sizeof(t));
printf("指针:%d\n",sizeof(void *));
}

害得我在smtp socket send() 时出大错啊!搞了一下午加晚上都没发现是这个的问题,原来发送时少换行符......难怪服务器半天没有发东西回来.....send()成功,我还以为recv()出错!

C/C++易错小记录的更多相关文章

  1. 【NCRE】三级网络技术 选择题易错点记录(1)

    部分易错点 连接到一个集线器的多个节点不能同时发送数据帧 嵌入式安装插座用来连接双绞线 异步串行端口 PPP 同步串行端口 PPP/HPLC 对于频繁改变位置并使用DHCP获取IP地址的DNS客户端, ...

  2. javascript 几个易错点记录

    1.清空input标签值得时候,不能用html("")清空,要用val("")清空 2.事件如果绑定多次,触发事件后,回调函数也会执行多次,所有最好把绑定事件的 ...

  3. Java五道输出易错题解析(避免小错误)

    收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class Integ ...

  4. 关于Verilog HDL的一些技巧、易错、易忘点(不定期更新)

    本文记录一些关于Verilog HDL的一些技巧.易错.易忘点等(主要是语法上),一方面是方便自己忘记语法时进行查阅翻看,另一方面是分享给大家,如果有错的话,希望大家能够评论指出. 关键词: ·技巧篇 ...

  5. 细节!重点!易错点!--面试java基础篇(二)

    今天来给大家分享一下java的重点易错点第二部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.字符串创建与存储机制:当创建一个字符串时,首先会在常量池中查找是否已经有相同的字符串被定义,其判断 ...

  6. [SQLXML]FOR XML语法导出XML的易错之处

    原文:[SQLXML]FOR XML语法导出XML的易错之处 [SQLXML]FOR XML语法导出XML的易错之处 Version Date Creator Description 1.0.0.1 ...

  7. Java易错知识点(1) - 关于ArrayList移除元素后剩下的元素会立即重排

    帮一个网友解答问题时,发现这样一个易错知识点,现总结如下: 1.易错点: ArrayList移除元素后,剩下的元素会立即重排,他的 size() 也会立即减小,在循环过程中容易出错.(拓展:延伸到所有 ...

  8. python函数使用易错举例

    关于嵌套: 嵌套使用中,  retrun inner  ---> 返回的是函数的地址 retrun inner() :    --->  运行inner()函数   ---> 运行i ...

  9. python易错知识集合

    本篇用于记录在写leetcode时遇到的python易错知识. 2019.8.29 1.Python range() 函数用法: range(start, stop[, step]) start: 计 ...

随机推荐

  1. delphi array应用 DayOfWeek星期几判断

    //array应用 DayOfWeek星期几判断 procedure TForm1.Button1Click(Sender: TObject);var    days:array[1..7] of s ...

  2. Android apk的安装、卸载、更新升级(通过Eclipse实现静默安装)

    一.通过Intent消息机制发送消息,调用系统应用进行,实现apk的安装/卸载 . (1) 调用系统的安装应用,让系统自动进行apk的安装 String fileName = "/data/ ...

  3. android 退出整个程序

    上网学了好多方法,关于Android的Activity如何退出.好多方法都不行啦,试了各种方法,下面这种方法就是我最喜欢的,简单又容易懂. 使用单例模式创建一个Activity管理对象,该对象中有一个 ...

  4. yii2 rbac 设计

    tbl_auth_item 根据type存储认证项目...role.task.operation 游客... 不能操作任何模块 普通用户 ..biz_rule..需要登录 只有这里返回true,才能进 ...

  5. Lua调用自定义C++类

    弄了一天终于会Lua调用自定义C++类.不容易啊. 我的电脑是64位的,装了64的Python不行,装了32位的就可以了,靠!下面是报错信息 python pyyaml Cheetah全都是装32位的 ...

  6. 简化LINUX的命令输入 简化linux命令

    在LINUX中,有很多常用的命令,常用的命令我们可以熟练的记忆,但是对于不经常使用的命令恐怕是需要翻阅手册了,但是我们可以简化这些命令的输入来达到简便记忆的效果. 这里以BSH为例: 编辑/etc/b ...

  7. 一个JS版本的MD5

    var hexcase = 0; function hex_md5(a) { if (a == "") return a; return rstr2hex(rstr_md5(str ...

  8. Visual studio 2012 添加 GitHub

    文件-新建项目

  9. jquery ajax 后台和前台数据交互 C#

    <input type="button" id="updateInfo" value="更改货载重量" /> <div i ...

  10. MySQL Index Condition Pushdown(ICP) 优化

    本文是作者留下的一个坑,他去上茅坑了.茅坑是谁?你猜.