栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言知识点

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言知识点

1、 用 函数指针 声明 一个变量时 ,需要注意:

(1)void (*fun)(long* p);//声明函数
fun dest;//此处fun是一个函数指针,是一个变量,不能用变量定义变量,所以会出错
(2)typedef void (*fun)(long *p);//此时,fun是一个函数指针类型
fun dest;//用类型定义变量当然可以啊

2、函数指针的 使用

(void(*)())0x100000                //含义: 将 0x100000强制成  一个函数指针

*(  (void(*)())0x100000  ) ()     //含义:   通过函数指针 运行函数,即从0x100000地址处运行程序

3。 数组指针,函数指针数组,int (*a[10])(int),函数指针的调用: (*p)(a,b)

4、联合体union 计算大小,特点:变量公用空间,大小取决于最大的变量空间

5、int (*s[10])(int) 函数指针数组,每个指针指向一个int func(int param) 的函数。

6、

        无符号 变量溢出: 清0

        有符号溢出,正数溢出,继续自加,直到清0

7、对于#include编译器从标准库路径开始搜索filename.h ;对于#include “filename.h” ,编译器从用户的工作路径开始搜索filename.h 。

8、宏定义计算一个数组的大小:define NTBL(table) (sizeof(table)/sizeof(table[0])) 

9、程序的局部变量存在于栈(stack) 中,全局变量存在于静态数据区中,动态申请数据存在于堆(heap)中。

10、printf(“%c”,(a)&(a-1)?’n’:’y’); // 判断是否为2的若干次幂 


11、a++, 遇到;结束后或者 分号结束前 遇到下一个a++, 则值才会改变(为上一次a+1后的值)


数组: a[ 5] 

a+1: 指向第二个元素

&a 和 a 等价

但是&a+1 和 a+1 不等价

数组: a++的写法,编译器会报错

12、当一个函数的参数是数组时,实际上编译器会把它当做指针去处理

13、对空指针使用free()是很危险的,且free()之后,不一定为null,成为野指针,要手动将其置null

14、字符串拼接函数:

        strcat((char*)str1,(const char*)str2)

15、

C语言中 自带的 排序算法:

 

//冒泡排序

//两数交换不经过第三 变量

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303125.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号