`
kula
  • 浏览: 57675 次
  • 性别: 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语言经典书籍的读书笔记

    在深入探讨C语言的知识之前,让我们先明确一下“C语言经典书籍”的读书笔记主要涵盖了哪些核心概念。这里主要讨论了变量、内存地址、指针、指针变量、指针与数组的区别、左值和右值以及`const`关键字的用法。 首先...

    c语言教程及读书笔记

    这篇教程及读书笔记将带你深入理解C语言的基础和精髓。 首先,我们来探讨C语言的基础部分。C语言的核心在于其语法结构,包括变量、常量、数据类型、运算符和控制结构。变量是存储数据的容器,常量则是不可更改的值...

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

    ### 《C和指针》读书笔记知识点梳理 #### 第一章 快速上手 1. **注释与预处理指令**: - C语言中有两种常用的注释方式:`/* ... */` 和 `// ...`。前者适用于多行注释,但存在嵌套问题,后者仅适用于单行注释。 ...

    谭浩强c语言ppt,读书笔记及课后题答案

    这份资源包含了该书的配套PPT、作者的读书笔记以及课后习题的答案,对于学习C语言的人来说,是一份极其宝贵的资料。 PPT部分可能涵盖了C语言的基础概念、语法结构、控制结构、函数、指针、数组、结构体等核心内容。...

    《C Primer Plus》读书笔记

    读书笔记是对全书内容的提炼和总结,帮助读者巩固理解并快速回顾所学知识。 一、C语言基础 C语言是一门低级编程语言,它提供了对硬件的直接控制能力,同时具有高级语言的简洁和高效。C Primer Plus首先介绍了C语言...

    C语言程序设计谭浩强重点笔记.zip

    本压缩包“C语言程序设计谭浩强重点笔记.zip”包含了一份详尽的C语言学习笔记,以文档形式提供,名为“C语言程序设计谭浩强重点笔记.doc”。这份笔记是对谭浩强教授书中的关键概念、语法和编程技巧的提炼,对于深入...

    C语言陷阱和缺陷与读书笔记word档

    这份"**C语言陷阱和缺陷与读书笔记word档**"正是为了帮助初学者避开这些潜在问题而编写的。 一、内存管理 在C语言中,程序员需要手动管理内存,这可能导致内存泄漏或野指针。当忘记释放已分配的内存时,就会发生...

    由C到嵌入式C读书笔记(讲述)

    《由C到嵌入式C读书笔记》 C语言,作为一种强大的编程语言,是学习嵌入式系统开发的基础。在由C到嵌入式C的过程中,深入理解和掌握C语言的基本概念至关重要。 首先,C语言中的标识符是程序中用于唯一标识数据和...

    《嵌入式Linux C语言应用程序设计》读书笔记

    第四至第八章,作者详细阐述了C语言的语法和常用数据结构,这部分内容是编程的基础,包括变量、控制流、函数、数组、指针、结构体等,并可能涉及链表、树、队列等数据结构。 第九至第十二章,聚焦于Linux系统开发,...

    谭浩强C程序设计读书笔记以及PPT.rar

    这份“谭浩强C程序设计读书笔记以及PPT.rar”压缩包文件包含了读者在研读这本书时所做的笔记和相关的PPT教学材料,对于学习C语言的人来说是一份宝贵的资源。 C语言是一种通用的、面向过程的编程语言,由Dennis ...

    《C语言程序设计》读书笔记模板.pptx

    本资源为《C语言程序设计》读书笔记模板,涵盖了C语言程序设计的基本概念、数据类型、运算符、控制结构、函数、数组、指针、文件操作等方面的知识点。 1. C语言简介 * 计算机语言的发展 * C语言的发展及其特点 *...

    C++读书笔记

    【C++读书笔记】 在深入理解C++的过程中,读书笔记是一种有效的学习方法,它能帮助我们整理思绪,巩固知识,并且在日后回顾时提供清晰的指引。以下是对C++编程语言的一些关键知识点的概述,这些内容可能涵盖在读书...

    C陷阱与缺陷读书笔记整理

    《C陷阱与缺陷》是一本深入探讨C语言潜在问题的经典著作,它揭示了在编程过程中容易忽视或误解的陷阱和缺陷。以下是对书籍内容的详细梳理: ### 一、词法陷阱 1. **`=` 不同于 `==`**:在C语言中,`=`是赋值运算符...

    谭浩强C语言课件+课后答案+读书笔记

    这份压缩包包含的资源非常全面,涵盖了课件、课后答案以及读书笔记,是学习C语言的宝贵资料库。 首先,课件部分通常是按照教材章节编排的,每节课件会详细解释C语言的关键概念,如变量、数据类型、运算符、控制结构...

    C程序设计读书笔记

    C语言的数据类型多样,包括整型、实型(浮点型)、字符型、数组、指针、结构体、共用体等。它支持结构化控制语句,如if...else、while、do...while、switch和for,提供了直接访问物理地址和位操作的能力,因此适合...

    C程序设计读书笔记C程序设计读书笔记.doc

    7. **指针**:指针是C语言的一大特色,它可以存储其他变量的地址,允许直接操作和传递内存地址,增强了程序的灵活性和效率。 8. **结构体与共用体**:结构体可以组合不同类型的数据,共用体允许在有限的内存空间中...

    经典C语言读书笔记.pdf

    ### 经典C语言读书笔记知识点总结 #### C语言中的计数规则与真假表示 C语言作为一种基础且广泛使用的编程语言,在其设计中遵循了一系列特有的规则。其中最基础的两个概念是计数规则以及真假值的表示方法。 - **...

    effective c++读书笔记

    从给出的部分内容来看,读书笔记主要聚焦于以下几个知识点: 1. C++语言的联邦概念:C++是一个由多个次语言构成的语言联邦,这包括了C语言核心、面向对象的C++、模板C++以及标准模板库(STL)。这种理解对于深入...

    谭浩强C程序设计和读书笔记以及PPT

    【标题】"谭浩强C程序设计和读书笔记以及PPT"所涵盖的知识点主要集中在C语言编程领域,这是由著名计算机教育家谭浩强教授编写的经典教材,旨在帮助初学者理解和掌握C语言的基本概念、语法和编程技巧。C语言是一种...

    C语言设计实例详解详解

    指针是C语言的一大特色,它可以存储内存地址,通过指针可以实现对变量的间接访问,增强了程序的灵活性。 数组和结构体是C语言中组织数据的重要方式。数组是一系列相同类型的元素集合,可以一次性处理多个数据。...

Global site tag (gtag.js) - Google Analytics