C和指针读书笔记(第一章)

1.“/* */”不能真正将代码从源文件删除,要从逻辑上删除一段C代码,更好的方法是使用#if

#if 0
    statements
#endif

2.标准I/O库: stdio.h
定义了EXIT_SUCCESS 和 EXIT_FAILURE的函数库:stdlib.h
操纵字符串:string.h


**3.**C语言中,数组参数是以引用的方式进行传递的,而标量和常量则是通过值传递。所有传递给函数的参数都是通过按值传递的。


**4.**NUL作为字符串终止符,但是本身不属于字符串。例:”hello”包含6个字节的空间,分别为h,e,l,l,o,NUL。


5.十进制:%d,八进制:%o,十六进制:%x,浮点值:%f,字符:%c,字符串:%s,换行:\n


6.标量值在变量参数的前面必须加上”&”符号


7.使用格式码(除%c)时,输入之前的空白(空格,制表符,换行符)会被跳过,值后面的空白表示值的结束,因此用%c输入字符串时,中间不能包含空白。
常用scanf格式码:
%d:整形值,int
%ld:长整形值,long
%f:实型值(浮点数),float
%lf:双精度实型值,double
%c:字符,char
%s:字符串,char型数组


8.数组名为实参时,传给函数的实际上是一个指向数组起始位置的指针,也就是数组在内存中的地址。正因为实际传递的是一个指针而不是一份数组的拷贝,才使数组名作为参数时具备了传址调用的语义。
(传值表示你函数调用的时候不管在函数里面怎么运算,原来的值都不会改变,而传地址的话再函数里进行运算等操作,就会改变原来的值。)


9.用const修饰,那么在函数体里就不可以对其进行更改,否则报错。这是为了使有些指针要想被其它函数调用,但又不希望由于失误被其它函数意外更改而设置的。


10.
strncpy函数:
利用标准库函数strncpy(),可以将一字符串的一部分拷贝到另一个字符串中。strncpy()函数有3个参数:第一个参数是目录字符串;第二个参数是源字符串;第三个参数是一个整数,代表要从源字符串拷贝到目标字符串中的字符数。
strcmp函数:
strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果,函数形式如下:
int strcmp(constchar*str1,constchar*str2);
其中str1和str2可以是字符串常量或者字符串变量,返回值为整形。返回结果如
下规定:
①str1小于str2,返回负值或者-1(VC返回-1);
②str1等于str2,返回0;
③str1大于str2,返回正值或者1(VC返回1);
strcmp函数实际上是对字符的ASCII码进行比较,实现原理如下:首先比较两个串的第一个字符,若不相等,则停止比较并得出两个ASCII码大小比较的结
果;如果相等就接着比较第二个字符然后第三个字符等等。无论两个字符串是什么样,strcmp函数最多比较到其中一个字符串遇到结束符’/0’为止,就能得出结果。
memcpy函数:
从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。
本条参考网址: http://www.cnblogs.com/heyonggang/archive/2013/07/17/3196922.html


2016.9.25

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值