C语言知识点-3

1.指针与数组:用数组指针遍历数组每个元素,指针当作数组来用,int ages[5];int *p;p=ages;*p==ages[0]==p[0],*(p+2)==ages[2]==p[2],指针变量的p+1究竟加多少,取决于指针的类型,另外指针指向的是数组的首元素,并不是指向数组,这也和指针类型有关,指针是int类型,只能指向一个整数,而不是指向一个整型数组 

2.字符串可以用字符数组表示,也可以用指针表示,但是char name[ ]="it";是字符串变量,放在内存的栈,可以随便修改,栈存放局部变量;而char *name2="it";是字符串常量,值是不能修改的,char *name3="it",name2和name3的地址是一样的,都放在内存的常量区作为缓存,不会开辟新的存储空间。如果字符串的内容需要经常修改,就用数组定义,如果字符串的内容不需要修改,而且这个字符串经常使用,就用指针定义。同理,定义字符串数组也有两种方式,即二维字符数组和指针数组,数组名就是地址15.定义指向函数的指针,(*p)必须括起来,int (*p)(int a,int b);函数名就是函数的地址

3.局部变量必须初始化,全局变量可以不初始化,但默认初始值是0

4.结构体:只能在定义结构体的同时,给它一次性赋值。指向结构体的指针,结构体独有的,(*p).age=25或 p-> age ,

5.写带参数的宏定义,每个参数要加小括号,结果也要用小括号括起来

6.文件包含,使用条件定义ifndef LISI_H和宏定义 #define LISI_H 书写自己的头文件 


7.typedef给已经存在的类型定义一个新类型,但是定义一个指向函数的新的类型,新的类型名称写到*后面的指针类型p的位置 


8.默认情况下,所有的全局变量都是外部变量,所有的函数都是外部函数。extern 完整的定义和声明一个外部函数,或声明一个全局外部变量(如果int a;在后面,就在前声明,当然extern可以省略),可以省略;static 定义和声明一个内部函数,或定义一个全局内部变量。默认情况下所有函数都是外部函数,不允许有同名的外部函数,但允许不同文件中有同名的内部函数。static定义一个局部变量,可以延长局部变量的生命周期,下一次调用此函数,不会再次分配内存,可以下一次被本函数共享,使用于,调用频率很高,且变量值固定不变的函数 


9.递归,就是找规律,这个结果与前一个结果之间的关系。递归的2个条件:函数自己调用自己,必须有一个明确的返回值,即n的0次方为0,否则就会无限调用下去

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值