大家好,欢迎来到IT知识分享网。
文章目录
1.函数指针与指针函数
1.1 指针函数
int *myfun(int x,int y);
int *fun(int x,int y); int * fun(int x,int y); int* fun(int x,int y);
*靠近返回值类型的写法更容易理解。
1.2 函数指针
函数指针,其本质是一个指针变量,该指针指向这个函数。函数指针就是指向函数的指针。声明格式如下:
int (*myfun)(int x,int y);
把一个函数的地址赋值给函数指针变量有两种写法:
myfun = &Function; myfun = Function;
x = (*myfun)(); x = myfun();
2. 常量指针与指针常量
3. inline函数
3.1 GCC编译原则
编译器工作时,以 .c 文件为单位逐个编译 .o 文件,每个 .c 文件的编译是独立的,如果 当前 .c 文件中要用到外部函数,那么就在编译时预留一个符号。等到所有 .o 文件生成后,链接时才给这些符号指定地址(链接脚本决定地址),所以这个 . c 文件编译时只会看到外部函数的声明而无法知道它的函数体。而内联函数声明时,加关键字 inline 修饰。调用到它的地方直接将汇编代码展开,而不需要通过符号(函数名)地址跳转。
3.2 为什么要使用inline函数
3.3 使用限制
3.4 使用方式
gcc 的 inline、static inline 都很好理解:就是对普通函数添加了可内联的属性,每个函数还是有自己的汇编代码段,只是其他函数调用内联函数时,不是通过符号地址跳转,而是直接展开内联函数代码段。
4. const用法
5. 全局变量
PS:针对嵌入式软件
6. 字节序和比特序
6.1 字节序
6.2 比特序
7. 大小端
8. 字节对齐
9.其他
9.1 局部变量释放后是否会清除栈的值?
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118328.html



