美文网首页
day09指针结构体

day09指针结构体

作者: 我是大龙啊 | 来源:发表于2015-11-17 09:34 被阅读48次

// 数组名就是数组的地址, 数组的地址就是首元素的地址
// 指针是专门用于保存地址
// 数据类型 *变量名称;
// 由于数组的首元素的地址就是数组的地址, 所以定义一个指针指向数组其实就是定义一个指针指向数组的首元素, 所以数组的首元素是什么类型, 那么指向数组的指针就是什么类型

// 指针+1, 是加上指针类型所占用的长度

// 因为数组名就是数组的地址, 数组名保存的就是数组的第0个元素的地址,所以我们可以使用指针来保存字符串
// 通过指针保存一个字符串, 其实就是保存的字符串第0个元素的地址

// 通过数组保存字符串和通过指针保存字符串的区别
// 如果通过数组来保存字符串, 那么字符串是一个变量 str  可以修改
// 如果通过指针来保存字符串, 那么字符串是一个常量 str2 不能修该
// 数组保存的字符串存储在内存的栈中, 而通过指针保存的字符串存储在常量区
// 存储在栈中的变量有一个特点, 当作用域结束系统会自动释放该变量
// 存储在常量区中的值有一个特点, 不会被释放, 而且多个相同的值对应的地址相同

保存字符串的两种方式:
char str[] = "lnj";
存储的位置: 栈
特点: 相同的字符串会重复的分配存储空间
字符串可以修改
char *str = "lnj"
存储的位置: 常量区
特点: 相同的字符串不会重复的分配存储空间
字符串不可以修改

// 定义数组的格式: 元素类型 数组名称[元素的个数]

只要是数据类型就具备3个特点
1.可以用来定义变量
2.可以用来作为形参的类型
3.作为返回值

指向函数的指针
指向函数的指针的定义格式
void (funtionP) ();
* : 代表是一个指针
funtionP : 代表指针变量的名称, 区分
(
funtionP) : 代表将来指向一个函数
void : 代表将来指向的函数没有返回值
() : 代表将来指向的函数没有参数

结构体基本概念
数组: 是用于保存一组相同类型的数据
结构体: 是用于保存一组不同类型的数据

 要想保存人得数据, 就必须先定义变量
 数据类型 变量名称;
 
 如何定义一个结构体变量
 1.定义结构体类型
 2.根据结构体类型, 定义结构体变量
 
 定义结构体类型的格式:
 struct 结构体类型名称
 {
    属性;
 };

结构体定义

如何定义指向结构体变量的指针
1.拷贝结构体类型 和 结构体变量名称
2.在类型和名称中间加上一颗心

 当指针指向结构体之后如何利用指针访问结构体
 结构体变量名称.属性;
 (*结构体指针变量名称).属性;
 结构体指针变量名称->属性;

枚举
// 枚举就是专门用于表示几种固定类型的取值
// 枚举的本质就是基本数据类型, 就是整形

// 枚举和结构体一样, 要想定义枚举类型变量, 那么必须先定义枚举类型
 枚举类型定义的格式
enum 枚举类型名称
{
    取值,
};

// 定义枚举变量和定义结构体变量一样, 直接将数据类型拷贝过来, 空格之后写上变量名称即可

结构体与函数

相关文章

  • C语言20 结构体指针

    C语言20 结构体指针 探测结构体指针的特性 ++、-- 加法与减法 指针相减 使用结构体指针 结构体指针一定要指...

  • C语言-5、结构体

    写法一 写法二 写法三 结构体指针 结构体指针 与 动态内存开辟 结构体的数组 结构体与结构体指针 取别名 取别名...

  • 函数指针,联合体,枚举,结构体和结构体指针

    函数指针 联合体 枚举 别名 结构体 结构体指针

  • Go语言之结构体指针

    结构体本身属于值类型,可以通过指针操作结构体,编程引用类型的数据,通过new()创建指针 结构体指针

  • day09指针结构体

    // 数组名就是数组的地址, 数组的地址就是首元素的地址// 指针是专门用于保存地址// 数据类型 *变量名称;/...

  • 6.结构体相关

    一 C 结构体和结构体指针 eg1: 一 结构体里面定义函数 通过结构体指针访问结构体里面定义的函数。 eg2:

  • 结构体的基本操作

    结构体定义和初始化 结构体变量相互赋值 结构体数组 结构体嵌套一级指针 结构体嵌套二级指针 结构体偏移量 联合体 ...

  • 结构体与结构体指针数组

    1.结构体定义与使用。 2.结构体指针 与 动态内存开辟。 3.结构体的数组。 4.结构体与结构体指针 取别名。 ...

  • 结构体操作

    1.动态创建一个结构体,里面有指针,为指针对象创建内存 结构体定义 释放结构体

  • runtime

    1、id、class指针 class指针只向objc_class结构体 id指针只向objc_object结构体 ...

网友评论

      本文标题:day09指针结构体

      本文链接:https://www.haomeiwen.com/subject/uyikhttx.html