
C语言学习笔记
OneCode2World
这个作者很懒,什么都没留下…
展开
-
C语言学习笔记-----伊能---函数可变参数
总结:C语言实现可变参数的过程,跟文件的读取过程是类似的。如:1.打开文件,返回一个文件描述符2.读取该文件描述符3.关闭文件描述符可变参数的过程:1.打开可变参数,返回一个参数链表指针2.根据该指针,挨个读取参数3.读取完毕,关闭参数指针#define _CRT_SECURE_NO_WARNINGS#in原创 2015-12-15 18:58:39 · 585 阅读 · 0 评论 -
C语言学习笔记----伊能C语言学习笔记-----全局变量
//主文件 :extern全局变量.c 文件的代码/*全局变量的定义 全局变量的实体全局变量有定义和声明之分。定义就是全局变量的实体。(没有赋值就是声明)声明只是声明变量存在。定义仅有一个,声明可以有多个。全局变量有一个定义,但可以有多个声明。*/#include原创 2015-12-27 10:14:37 · 636 阅读 · 0 评论 -
C语言学习笔记---伊能C语言学习笔记----寄存器变量
#include#include#include#include/*寄存器变量的用途:寄存器变量,用于频繁使用的变量,用于提升运行速度。寄存器变量存储在CPU内部,所以访问速度快,因此,频繁使用的变量,需要放在寄存器中可以提供运行速度。VC会自动优化,即使没有声明寄存器变量,VC也会自动优化gcc 就不会自动优化。原创 2015-12-26 18:35:29 · 711 阅读 · 0 评论 -
C语言学习笔记------伊能C语言学习笔记-----外部函数
#include//包含了很多函数的声明,调用库函数的时候,挨个挨个写出库函数的声明是不现实的。所以,封装到了一个头文件中。#include#include//软件工程规范,调用外部函数,一般需要外部声明。//软件工程规范,内部函数这么声明//void msg();//void openQQ();//外部函数调用声明原创 2015-12-27 14:36:55 · 1226 阅读 · 0 评论 -
C语言学习笔记-------伊能C语言学习笔记------静态函数初步
/*我们知道一个大的程序不可能把所有的函数都写在一个文件里,而是要书写多个文件,那么问题来了,在另一个文件中的函数,这个文件然后调用呢??这就是: 函数的跨文件调用问题!C 语言规定,所有的函数,在没有static保护的情况下,都可以跨文件调用!C语言为什么要引出外部函数和内部函数机制???他们是为了解决什么问题而提出的???他们各有什么特点??原创 2015-12-27 14:08:31 · 914 阅读 · 0 评论 -
C语言学习笔记----伊能C语言学习笔记----变量可以在程序的三个地方声明
变量可以在程序中的三个地方说明:1.形式参数2.函数内部 : 局部变量3.函数外部 : 外部变量原创 2015-12-26 13:24:03 · 744 阅读 · 0 评论 -
C语言学习笔记----伊能C语言学习笔记----如何在一个文件中使用另一个文件中定义的变量呢??
我们知道,一个大的程序,会由多个c文件构成,这些c文件是属于同一个程序的。 那么,如何在一个文件中使用另一个文件中定义的变量呢?? 解答: C语言为了解决这个问题:引出了 全局作用域的概念 即: 在一个文件中定义的全局变量,具有全局作用域,当在本程序的其他文件中使用时,只需加上 extern外部引用声明即可。 所以:我们可以看出: 全局原创 2015-12-26 13:21:25 · 5713 阅读 · 0 评论 -
详解结构体、类等内存字节对齐
转载自:http://zhangyu.blog.51cto.com/197148/673792/详解结构体、类等内存字节对齐标签:结构体 休闲 职场版权声明:原创作品,谢绝转载!否则将追究法律责任。 先说个题外话:早些年我学C程序设计时,写过一段解释硬盘MBR分区表的代码,对着磁盘编辑器怎么看,怎么对,可一执行,结果就错转载 2015-12-24 14:14:58 · 543 阅读 · 0 评论 -
C语言学习笔记--------伊能C语言学习笔记------C语言结构体字节对齐机制
/*结构体的成员存储时为什么要对齐??? 什么是对齐??? 对齐有什么意义???结构体对齐的意义是什么???C语言为什么要引入结构体字节对齐机制???下面是一些概述:一般来说,不同的编译器字节对齐机制有所不同,但是有以下3条通用准则:1.结构体变量的大小能够被其最宽基本类型成员的大小所整除;2.结构体每个成员相对于结构体首原创 2015-12-24 13:52:16 · 655 阅读 · 0 评论 -
C语言学习笔记--------伊能C语言学习笔记----使用指针来解决函数的副本机制
使用指针做形参来解决函数的副本机制:/*在函数里面改变一个外部变量,就需要变量的地址 如果是数据,需要指向数据的指针存储数据的地址如果是指针,就需要指向指针的指针存储指针的地址//二级指针一般用于改变一个字符串指针的指向,指向不同的字符串*/#include#includech原创 2015-12-23 12:42:08 · 1129 阅读 · 0 评论 -
C语言学习笔记----伊能C语言学习笔记-----函数的副本机制
函数的副本机制:形式参数会开辟内存,新建一个变量,容纳传递过来的实际参数的值函数参数的传递机制问题在本质上是调用函数和被调用函数在调用发生时进行通信的方法问题。主调函数被调函数函数的副本机制即:被调用函数是如何接收主调函数传递过来的实参的呢?被调用函数是这样处理的:形式参数会开辟内存,新建一个变量,容纳传递原创 2015-12-23 12:40:33 · 1697 阅读 · 0 评论 -
C语言学习笔记-----伊能C语言学习笔记---指针类型和指针所指向的类型不同时
#include#includevoid main(){//指针的类型必须要与指针指向的类型一致,不一致,会出现,大小不一样,解析方式不一样 //指针类型double大于指针指向的类型int //int num = 100;//double *p = #//printf("\n%x,%f\n", p, *p);double原创 2015-12-20 11:11:17 · 880 阅读 · 0 评论 -
C语言学习笔记----伊能C语言学习笔记---*号的作用
*号的作用:“*”的作用: 根据地址读写该地址内的数据。 所以可以应用*号来对这个地址的内容进行赋值。原创 2015-12-16 21:54:43 · 610 阅读 · 0 评论 -
C语言学习笔记----伊能C语言学习笔记----指针与地址的区别是什么?
#include#includevoid main(){ int num = 10; int *p = # //&num 是一个地址 ,是一个常量 // p是一个指针变量,可以存储一个地址 /* printf("%x", p); printf("%x", *p); 所以,上面这两个是不同的。 p这个变量的值 不同于 *p的值。原创 2015-12-16 21:41:57 · 581 阅读 · 0 评论 -
C语言学习笔记----------伊能C语言学习笔记-------静态局部变量
/*用static声明一个变量的作用是:1.对局部变量用static声明,把它分配在静态存储区,该变量在整个程序执行期间不释放,其所分配的空间始终存在。常使用静态局部变量在函数调用间歇保存某些变量的值。2.对全局变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)*/#include#include原创 2015-12-27 11:02:10 · 826 阅读 · 0 评论