`
kula
  • 浏览: 56216 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • highill: 在baidu上看了 HTML5与FLASH的斗争和前景分析.d ...
    html5和flash
  • interjc: 问题是html5的标准如何才能完全同意,不要到时候搞得群雄割据 ...
    html5和flash
  • evanmeng: 谷歌地图上早就可以利用点评网的数据显示某地周围的餐饮信息。但我 ...
    openapi 简介

c与指针 读书笔记 04

    博客分类:
  • soft
阅读更多
数组的值是一个指针常量,但数组不是一个指针常量。因为在以下两种场合下,数组和指针常量的表现不一样。sizeof和&, sizeof返回整个数组的长度,而不是指向数组的指针长度,&返回指向数组的指针,而不是指向某个指针常量的指针

数组当函数参数的时候,因为数组的值是一个指向数组零元素的指针,所以他会将这个指针通过值传递传递给函数。

静态初始化和自动初始化,静态初始化只初始化一次。自动初始化每次进入代码块作用域都要进行初始化

数组元素的存储顺序,多维数组的元素存储顺序是按照最右边的下标率先变化的原则,称为 行主序(row major order).

编写一维数组的函数参数时,既可以写成数组形式,又可以写成指针形式,但多维数组只有第一维能这样选择,其他维都必须写成数组形式.这样编译器才能够推断每个子维的长度

多位数组中,只有第一维的长度会被自动计算出来.

聚合数据类型能够同时存储超过一个的单独数据,c语言提供了两种类型的聚合数据类型,数组和结构。 数组是相同类型的元素的集合,他的每个元素是通过下表引用活指针间接访问来选择的
结构也是一些值的集合,这些值称为它的成员,但一个结构的各个成员可能具有不同的类型,

结构变量属于标量类型.

编译器按照成员列表的顺序一个接一个的给每个成员分配内存,只有当存储成员时需要满足正确的边界对齐要求时,成员之间才可能出现用于填充的额外内存空间

offsetof宏 确定结构某个成员的实际地址

位段的声明和结构类似,但它的成员是一个或多个位的字段,这些不同长度的字段实际上存储于一个或多个整形变量中.

位段的声明和任何普通的结构成员声明相同,但是有两个意外,首先,位段成员必须声明为int,signed int 或unsigned int类型,其次,在成员名的后面是一个冒号和一个整数,这个整数指定该位段所占用的位的数目

用signed int 或unsigned int显式的声明位段是个好主意,如果把位段声明为int类型,它究竟被解释为signed int或者unsigned int是由编译器决定的

联合的声明和结构类似,但它的行为方式却和结构不同,联合的所有成员引用的是内存的相同位置.                                                                                                                                                                                                c
分享到:
评论

相关推荐

    《C和指针》读书笔记.pdf

    《C和指针》读书笔记.pdf

    [java]读书笔记整理:一切都是对象

    你是直接操纵对象,还是用某种基于特殊语法的间接表示(例如C和C++里的指针)在操纵对象? 所有的这一切在java里都得到了简化。一切被视为对象,因此可采用单一固定的语法。尽管一切都“看作”对象,但操纵的标志符...

    C语言笔记(在班上FTP下的)

    《C程序设计》读书笔记 第一章 概述 第二章 数据类型、运算符与表达式 第三章 最简单的c程序设计 第四章 逻辑运算和判断选取控制 第五章 循环控制 第六章 数组 第七章 函数 第八章 预编译处理 第...

    嵌入式系统开发之道笔记

    嵌入式系统开发之道的读书笔记 ... 2、中断分为CPU自行产生的内部中断及由外围设备产生的外部中断。 3、*(volatile unsigned char*)0x300022&=0xfd; C语言用指针取地址里面的东西 asm("xld.w %r0,0x300022"); Asm...

    【博客大赛】《C和指针》摘抄整理型笔记二

    读书笔记类型多种多样,有摘抄型的,有感想型的,有批注型的,有摘要型的……

    《C++ primer plus》读书笔记(一)

    (有些C头文件被转换为C++头文件,去掉扩展名,并在前面加c,如cmath) 2、名称空间——相当于Java中的package,using编译指令相当于Java中的import。头文件没有.h前缀时,类、函数和变量是C++编译器的标准组件,被...

    leetcode2sumc-NaughtyBear_notes:NaughtyBear笔记+搬运+总结

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 CC BY-NC-SA 4.0 协议,转载请注明出处。 :bookmark_tabs: 目录 :plus: C/C++...

    leetcode合法表达式-CPP_Practice:本仓库是面向C/C++技术方向的基础知识总结,包括语言、程序库、数据结构、算法、系统、网

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 向issue 提出。此仓库引用于issue! 只面向初学者用于学习参考~ :bookmark_tabs: 目录 :plus: C/C++ ...

    C_CPP访谈

    由于本人水平有限,仓库中的知识点有来自本人原创,读书笔记,书籍,博文等,非原创均已标明出处本仓库预先协议,转载请注明出处,不得用于商业目的。 :bookmark_tabs:目录 :plus: C / C ++ const ...

    leetcode超时用例数-C-:C-

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 协议,转载请注明出处,不得用于商业目的。 :bookmark_tabs: 目录 :plus: C/...

    leetcode超时用例数-C-_Interview:C-_面试

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 协议,转载请注明出处,不得用于商业目的。 :bookmark_tabs: 目录 :plus: C/...

    leetcode超时用例数--:C-C++

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 协议,转载请注明出处,不得用于商业目的。 :lollipop: 广告与打赏:个人...

    leetcode2sumc-Interview::books:C/C++面试基础知识总结

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 CC BY-NC-SA 4.0 协议,转载请注明出处。 :lollipop: 如果仓库内容对你有所...

    leetcode超时用例数-interview:面试

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 协议,转载请注明出处,不得用于商业目的。 :lollipop: 广告与打赏:个人...

    leetcode超时用例数-Basic:基本的

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 协议,转载请注明出处,不得用于商业目的。 :bookmark_tabs: 目录 :plus: C/...

    leetcode超时用例数--:——

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 协议,转载请注明出处,不得用于商业目的。 :bookmark_tabs: 目录 :plus: C/...

    leetcode超时用例数-Summary:概括

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 协议,转载请注明出处,不得用于商业目的。 :bookmark_tabs: 目录 :plus: C/...

    C++中静态成员函数与静态成员变量(static )

    这篇介绍了静态成员函数与静态成员变量,是我的读书笔记,我希望它够简短但又比较全面,起到复习的作用。如果有一些C++知识记不清楚了,它可以帮你很快回忆起来。 复习C语言的static关键字 (1)加在局部变量的前面...

    leetcode超时用例数-Computer:电脑

    由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 CC BY-NC-SA 4.0 协议,转载请注明出处。 :lollipop: 如果仓库内容对你有所...

Global site tag (gtag.js) - Google Analytics