与指针括起来的是指针(*a)

int const *a = &b;  /* 常量指针 */
int (*a)[5]; /* 数组指针 */
int (*add)(int a, int b);   /* 函数指针 */

指针变量

int a = 10; /* 变量 */
int *p; /* 指针变量 */
p = &a; /* 将变量a的地址赋值给指针变量 */

常量与指针:

int *const a = &b;  /* 指针常量 */
int const *a = &b; /* 常量指针 */
指针常量:本质上是一个常量,该常量的类型是指针类型。
常量指针:本质上是一个指针,该指针指向一个常量。

数组与指针:

int * a[5];   /* 指针数组 */
int (*a)[5]; /* 数组指针 */
指针数组:本质上是一个数组,该数组的元素是指针。
用途:当数组中需要保存连续地址时,使用指针数组。
数组指针:本质上是一个指针,a为指向数组的指针。
用途:当函数返回值为数组指针时,可以使用数组指针接收。使用(*a)[i]获取数组指针内的值。

函数与指针:

int *add (int a, int b); /* 指针函数 */
int (*add)(int a, int b);   /* 函数指针 */
指针函数,本质上是一个函数,该函数返回值是一个指针。
函数指针,本质上是一个指针,该指针指向一个函数。

枚举(enum)

//声明枚举1
enum DAY {MON=1, TUE, WED, THU, FRI, SAT, SUN
};
//声明枚举2
typedef enum {MON=1, TUE, WED, THU, FRI, SAT, SUN
}DAY;
//定义枚举1
enum Day day;
//定义枚举2
enum {MON=1, TUE, WED, THU, FRI, SAT, SUN
} day;

结构体(struct)

//声明结构体
typedef struct {u8 age;u8 length;u8 weight;char[10] name;
}MAN;
//定义结构体
MAN man1;
//声明结构体
struct man {u8 age;u8 length;u8 weight;char[10] name;
};
//定义结构体
struct man man1;
//声明并定义结构体变量man1
struct {u8 age;u8 length;u8 weight;char[10] name;
}man1;
定义结构体变量:struct man liming;
定义结构体指针:struct man *L=&liming;
定义结构体数组:struct man men[20];结构体变量访问成员变量liming.age
结构体指针访问成员变量L->age结构体变量获取成员变量的地址&liming.age
结构体指针获取成员变量的地址&liming->age

常量 数组 函数 枚举 结构体与指针相关推荐

  1. C语言结构体的定义与使用、结构体数组、指向结构体的指针(有代码详解)

    1.结构体的定义与使用 结构体是一种构造数据类型 把不同类型的数据组合成一个整体 结构体的定义形式: struct 结构体名{结构体所包含的变量或数组 }; 结构体是一种集合,它里面包含了多个变量或数 ...

  2. 关于sizeof函数、memcpy函数以及结构体关于指针的问题汇总

    1.sizeof()函数用于获取变量.类型等字节数.但是不能通过结构体指针获取结构体的字节数.使用会出现错误: 比如: typede struct {unsigned char yuliu[5];un ...

  3. 指针数据类型 java_C/C++ 指针的小结——指针与其它数据类型(数组、字符串、函数、结构体)的关系...

    一.指针与数组和字符串 1.指针与数组 当声明数时,编译器在连续的内存空间分配基本地址和足够的储存空间,以容纳数组的所有元素.基本地址是数组第一个元素(索引为0)的存储位置.编译器还把数组名定义为指向 ...

  4. c++结构体总结(结构体定义,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,结构体中 const使用场景)

    看完b站黑马程序员之后的借鉴和笔记 1.什么是结构体,有什么作用? 在C/C++中,结构体是用户定义的数据类型.它可以把几种不同类型的数据项集合成结构体这样一个单一类型. 2. 结构体定义和使用 #i ...

  5. C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例

    C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例 目录 一.简单介绍 二.结构体定义和使用 三. ...

  6. C语言项目实战:24点游戏计算器(基于结构体、指针、函数、数组、循环等知识点)

    文章目录 C语言项目实战:24点游戏计算器(基于结构体.指针.函数.数组.循环等知识点) 前言:24点游戏计算器的规则如下 一.项目的创建标 1.选择项目 2.输入项目名称和路径 3.创建头文件Mai ...

  7. python中的记录指针_使用Python向C语言的链接库传递数组、结构体、指针类型的数据...

    使用python向C语言的链接库传递数组.结构体.指针类型的数据 由于最近的项目频繁使用python调用同事的C语言代码,在调用过程中踩了很多坑,一点一点写出来供大家参考,我们仍然是使用ctypes来 ...

  8. python结构体数组传出接收c动态库_使用Python向C语言的链接库传递数组、结构体、指针类型的数据...

    使用python向C语言的链接库传递数组.结构体.指针类型的数据 由于最近的项目频繁使用python调用同事的C语言代码,在调用过程中踩了很多坑,一点一点写出来供大家参考,我们仍然是使用ctypes来 ...

  9. C语言程序设计 数组,结构体和指针练习题

    涉及知识点:数组,结构体和指针 分析以下程序的运行结果: #include "stdio.h" struct  sp {     int a;     int *b; } *p ; ...

最新文章

  1. 网站优化过度后会出现哪些“后遗症”?悠着点~
  2. 线程池模式比较-------ICE线程池模型------L/F领导者跟随者模式
  3. yolo3(目标检测)实测
  4. [html] 什么是表单域?它有哪些运用场景?
  5. android 恢复app 到前台,android手机把app disable了,怎么恢复
  6. 把VS Code打造成Java开发IDE,也挺爽!
  7. Mysql_多表查询练习
  8. Android 源代码下载
  9. @WebFilter()配置servlet访问出现404的原因
  10. OpenCV 访问Mat 像素
  11. 一个基于verilog的FPGA 的LCD 1602 显示程序
  12. Cadence16.6版本下Pspice仿真的使用
  13. 数字信号处理1——离散时间系统与常见信号(matlab)
  14. C++优先级队列priority_queue详解及其模拟实现
  15. 二分查找及时间复杂度
  16. dpdk-pktgen 的安装和基本使用
  17. ThreadLocal 源码深析及使用示例
  18. 不属于ipo模型的 python_以下不属于IPO模型的是:
  19. 我爱赚钱吧:学生都可以做的兼职工作
  20. 人才是最重要的资产,这类企业不可贸然裁员

热门文章

  1. 铺铜需要把agnd和dgnd分开_AGND和DGND的秘密——混合信号器件的接地原则
  2. django runserver开启服务(开启外网访问与ipv6访问)
  3. centos安装python3.8与pip
  4. matplotlib 设置水平线、垂直线
  5. android7 编译配置摄像头,MTK平台新增摄像头指南 -- 已更新android 7.0路径的更改。...
  6. iview表格嵌套Tooltip
  7. 20172301 2018-2019-1《程序设计与数据结构》课程总结
  8. 版本控制工具--svn和git的使用(一) -----版本控制的好处以及分类
  9. jquery中prop()和attr()的使用
  10. nginx的 CPU参数worker_processes和worker_cpu_affinity使用说明