《每天一分钟学习C语言·十二》各种指针问题

1、

int arr;  
int * restrict pt = &arr;
*pt = 100;
*arr = 10;

注:restrict只能修饰指针,被restrict修饰的指针指向一块内存后这块内存就归这个指针管理了,其他任何指针都不能修改这块内存的内容,这是一个约定,当然实际上也可以被其他指针修改,但通常都会遵守这个约定。这里pt控制了这块内存,按道理不管arr为多少,最终值都是100,这是一个约定,但实际arr也能修改值,最终是10

2、
time函数

time_t time(time_t *timer)

time_t为long int型,参数为NULL返回从1970-01-01 00:00:00到现在的秒数

3、
返回值和参数为void *的各自作用

#include <stdio.h>
#include <string.h>void * f(void * i)
{int * a = (int *)i;*a = 10;return (void *)a;
}int main()
{int i = 3;int *arr = &i;void * b = f(arr);printf("%d\n", *(int *)b);return 0;
}

函数的参数为void *表示传入的参数可以为任意类型的地址,这里传入int *类型的arr,这时需要在函数内部做个强转把void *转为int *,return的时候可以return任何类型地址,如return (int *)a,在主函数接受这个返回地址时一定要用void *类型接收,不能用任意类型地址接收,不然会报错,然后可以把void *类型返回值强转其他类型打印

4、
#define MAX extern 宏定义MAX为extern,此时MAX就是extern
MAX int i; //相当于extern int i;

5、

#define PT  0x1001H
typedef struct {int i;double j;
}st;
#define P  ((st *)PT)  

PT强转为一个结构体指针,该指针的地址为0x1001H,此时P表示PT,P->i等价于PT->i,因为PT为结构体指针,所以PT的地址为结构元素的第一个元素的地址

6、
定义一个枚举

typedef enum {
M, T, W, S, F
}day;day d = W;
Printf(%d\n”, d);  //2
//也可以直接输出枚举的值,不需要赋值
Printf(%d\n”, F);  //4

7、
函数与函数局部变量不能共用,比如在main函数里有个布局变量int i=3,mian函数内部还有个函数f(),那么在f()函数内部就不能使用main的局部变量i,若要使用可以在函数外部定义全局变量

8、
头文件stdlib.h
system(“pause”); //暂停程序

9、
long类型在windows占4个字节,linux 32位4字节,linux 64位8字节

10、
char *arr[10] = {“huang”, “hhh”}; //指针数组,每个元素是一个字符串,前两个元素都有字符串常量区赋了地址, 后八个元素默认是给指针初始化,地址赋值给NULL,空指针不可读,故printf(“%s\n”, arr[2]); 会中断报错,如果是一个值都没有赋,char *arr[10]; 那每个元素都是野指针,只要给数组赋了一个值,其他没有赋值的元素都会默认初始化。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/627991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众号注册(详细图文教程)

目录 一、公众号注册准备1.1 准备事项1.2 个人注册1.3 企业注册 二、公众号注册2.1 基本信息填写2.2 选择类型2.3 信息登记2.4 公众号信息2.5 修改头像2.6 自动回复消息 三、总结 一、公众号注册准备 1.1 准备事项 公众号名称&#xff1a;公众号名称可以由中文、英文、数字、…

李宏毅LLM——ChatGPT原理剖析

文章目录 Chat-GPT引言关键技术——预训练研究问题玩文字冒险游戏 ChatGPT原理剖析 Chat-GPT引言 直观感受&#xff1a;结果有模有样、每次输出结果都不同、可以追问、幻想出的答案误解&#xff1a;罐头回答、答案是网络搜索的结果真正做的事&#xff1a;文字接龙&#xff0c;…

Spring Cloud中的提供者与消费者

在服务调用关系中&#xff0c;会有两个不同的角色&#xff1a; 服务提供者&#xff1a;一次业务中&#xff0c;被其它微服务调用的服务。&#xff08;提供接口给其它微服务&#xff09; 服务消费者&#xff1a;一次业务中&#xff0c;调用其它微服务的服务。&#xff08;调用…

Artipelag创意艺术展:在斯德哥尔摩的桥边,遇见莫奈!

近期&#xff0c;位于瑞典斯德哥尔摩的Artipelag 艺术博物馆策划了一场名为《想象莫奈》&#xff08;Imagine Monet&#xff09;的艺术展。 Artipelag除了通过传统的社交媒体来做宣传&#xff0c;还联合广告公司Sweet在线下策划了一次特别的宣传活动&#xff0c;以此来致敬这位…

nginx基本优化

安装nginx隐藏版本号 查看百度web服务器 [rootcjq11 ~]# curl -I http://www.baidu.com 隐藏nginx服务器版本号 [rootcjq11 ~]# cd /usr/local/src/nginx-1.22.0/ [rootcjq11 nginx-1.22.0]# vim src/core/nginx.h第13、14行修改版本号和服务器名称 [rootcjq11 nginx-1.2…

HAL库配置RS485通信

在配置好串口的基础上完成RS485的配置 一、使能RS485的发送和接收模式引脚 __HAL_RCC_GPIOG_CLK_ENABLE();//高电平是发送模式&#xff0c;低电平是接收模式&#xff0c;默认是接收模式HAL_GPIO_WritePin(PG4_RS485_DIR1_Port, PG4_RS485_DIR1_Pin, GPIO_PIN_RESET);GPIO_Init…

特征工程-特征处理(三)

特征处理 连续型变量处理&#xff08;二&#xff09; 多特征 降维 PCA PCA是一种常见的数据分析方式&#xff0c;通过数据分解&#xff0c;将高维数据降低为低维数据&#xff0c;同时最大程度保持数据中保存的信息。 from sklearn.decomposition import PCA A np.array([[84…

计算机毕业设计----SSH滑雪场场地租赁管理系统

项目介绍 该项目主要包括三个角色&#xff1a;管理员、收银员、用户&#xff1b; 用户角色包含以下功能&#xff1a; 用户登录,修改个人信息,查看我的订单等功能。 管理员角色包含以下功能&#xff1a; 管理员登录,滑雪场管理,订单管理,教练管理,器材管理,会员管理,收银员管…

【手撕C语言 第二集】初识C语言

​​ 一、变量的作用域和生命周期 作用域&#xff1a;一个变量在哪里可以使用它&#xff0c;哪里就是它的作用域。 局部变量的作用域&#xff1a;变量所在的局部范围 全局变量的作用域&#xff1a;整个工程 不管整个工程里面有多少源文件&#xff0c;都可以使用全局变量。这样…

sqlilabs第五十七五十八关

Less-57(GET - challenge - Union- 14 queries allowed -Variation 4) 手工注入 Less-58(GET - challenge - Double Query- 5 queries allowed -Variation 1) 手工注入 报错注入就可以&#xff08;布尔注入的话次数不够&#xff09;(所以我们前面需要做够足够的数据支持) 最后…

关于 ant-design-vue resetFields 失效

关于 ant-design-vue resetFields 失效 背景&#xff1a; 遇到这样的问题使用ant-design-vue useForm来制作表单的时候&#xff0c;resetFields()失效 场景&#xff1a; 编辑 -赋值 新增-初始值&#xff08;问题点&#xff1a;新增的时候他就不初始化&#xff09; 方案&…

【模板规范】会议纪要模板

文章目录 1、简介2、纪要模板2.1、表格类会议纪要2.2、文档类会议纪要2.3、简易版项目纪要 3、会议纪要3.1、作用3.2、特点3.2.1、工作会议纪要3.2.2、代表会议纪要3.2.3、座谈会议纪要3.2.4、联席会议纪要3.2.5、办公会议纪要3.2.6、汇报会议纪要3.2.7、技术鉴定会议纪要 3.3、…

C++ 之LeetCode刷题记录(十一)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 向耗时0s前进。 67. 二进制求和 给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 示例 1&#xff1a; 输入…

从数据可视化到场景渲染:山海鲸的创新与实践

作为山海鲸的开发者&#xff0c;我们深知可视化模型场景渲染在数据分析和决策支持中的重要作用。因此在保证山海鲸可视化软件免费编辑、分享、部署的同时也在场景渲染方面不断优化&#xff0c;本文将介绍山海鲸在可视化模型场景渲染方面的技术革新与实践探索。 首先&#xff0…

C#核心--思维导图

对应《C#--核心》&#xff08;http://t.csdnimg.cn/cpRbZ&#xff09;

发现了一个比GPT-4还厉害的写论文解读的agent !

已经2024年了&#xff0c;该出现一个写论文解读AI Agent了。 大家肯定也在经常刷论文吧。 但真正尝试过用GPT去刷论文、写论文解读的小伙伴&#xff0c;一定深有体验——费劲。其他agents也没有能搞定的&#xff0c;今天我发现了一个超级厉害的写论文解读的agent &#xff0c…

进程上下文的概念和切换简单通俗的解释

进程上下文是进程执行活动全过程的静态描述。我们把已执行过的进程指令和数据在相关寄存器与堆栈中的内容称为进程上文&#xff0c;把正在执行的指令和数据在寄存器与堆栈中的内容称为进程正文&#xff0c;把待执行的指令和数据在寄存器与堆栈中的内容称为进程下文。 实际上li…

运维体系中的那些Ops们

目录 前言 DevOps DevSecOps GitOps 1、缺少一致性 2、使用成本高 3、鉴权分散 4、审核审计困难 5、不可变基础设施扩展难 DataOps AIOps 总结 前言 提到运维&#xff0c;自然而然会联想到DevOps&#xff0c;大家应该还听说过DataOps、GitOps、DevSecOps、AIOps等…

Kafka 集群部署

目录 1、环境准备 2、搭建ZooKeeper集群 配置文件 节点标记 环境变量 启动集群 数据同步测试 故障测试 3、搭建 Kafka 集群 配置文件 环境变量 配置其他机器 启动服务 4、集群测试 创建 Topic 显示 Topic 配置 创建 Producer 创建consumer 删除Topic 查看Z…

代码随想录算法训练营第21天 | 530.二叉搜索树的最小绝对差 + 501.二叉搜索树中的众数 + 236.二叉树的最近公共祖先

今日任务 530.二叉搜索树的最小绝对差 - Easy 501.二叉搜索树中的众数 - Easy 236.二叉树的最近公共祖先 - Medium 530.二叉搜索树的最小绝对差 - Easy 题目链接&#xff1a;力扣-530. 二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两…