C语言学习---星花与取地址&----以及多级指针
#include<stdio.h> int main
{
//对一个表达式加* , 就会对表达式减一级星花*,
//如果对表达式取&, 就会加一级* int* p;
int** q; q = &p //这个等式是成立的,因为q是**类型看, p是*类型, 加上&, 就变成了**。(如果对表达式取*, 就会加一个*) *q = p//这个表达式也是成立的, q本来是**类型,现在加上*, 就会对表示式减少一级*, 就变成了*类型, 所以*q = p的 }
#include<stdio.h> int main()
{
int a = 10; int* p = &a; //定义一个指针保存p的地址,指针变量的地址 int** q = &p; //通过q把a的值取出来
printf("**q is %d\n",**q);// *q表示把q里面的内容取出来,当做地址看到, 并找到改地址的空间里面的内容,即找到了&a,*(*q)== *(&a)表示找到a地址空间里面的内容,就是10 return 0; }


#include<stdio.h> int main()
{
int a = 10; int* p = &a; //定义一个指针保存p的地址,指针变量的地址 int** q = &p; //通过q把a的值取出来
printf("**q is %d\n",**q);// *q表示把q里面的内容取出来,当做地址看到, 并找到改地址的空间里面的内容,即找到了&a,*(*q)== *(&a)表示找到a地址空间里面的内容,就是10 //定义一个地址变量, 报错q的地址
int*** k = &q;//每取一次地址就多加一个* printf("***k is %d \n",***k); return 0; }
*符号结合, 代表这个k是一个指针变量
k是一个变量
k的类型:将变量k拖黑(选中), 剩下的就是表示变量k的类型
k用来保存谁的地址, 将变量k和k最近的*一起拖黑选中,剩下的是什么类型, 就表示k保存的是什么类型数据的地址
C语言学习---星花与取地址&----以及多级指针的更多相关文章
- C语言中对数组名取地址
在C/C++中,数组名相当于一个指针,指向数组的首地址.这里“相当于”不代表等于,数组名和指针还是有很多区别的,这个在<C陷阱与缺陷>里有详尽的讲述.而这里要说的是对于数组名取地址的这么一 ...
- C语言学习笔记--多维数组和多维指针
1. 指向指针的指针 (1)指针的本质是变量,会占用一定的内存空间 (2)可以定义指针的指针来保存指针变量的地址值 (3)指针是个变量,同样也存在传值调用与传址调用 重置动态空间的大小 #includ ...
- 网易云课堂_C语言程序设计进阶_第二周:指针:取地址运算和指针、使用指针、指针与数组、指针与函数、指针与const、指针运算、动态内存分配_2信号报告
2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength) 信号强度即大小. 其中R位于报告第一 ...
- C语言的数组名和对数组名取地址
http://blog.csdn.net/zdcsky123/article/details/6517811 相信不少的C语言初学者都知道,数组名相当于指针,指向数组的首地址,而函数名相当于函数指针, ...
- go语言学习笔记
Go语言学习基本类型Bool 取值范围:true,false (不可以用数字代替)Int/uint 根据平台可能为32或64位int8/uint8 长度:1字节 取值范围-128~127/0~255b ...
- 大一C语言学习笔记(7)---指针篇--什么是指针?什么是指针变量?取地址符“&”的作用是什么?地址运算符“*”的作用是什么,怎么理解两者?
"指针是C语言的灵魂"这句话一开始我没怎么明白,现在接触了指针,终于知道为什么这么说了,因为....难,真难:下面说一下我对这句话的见解: C语言拥有着其他语言所没有的特性---直 ...
- c语言 &取地址运算符的理解
对于c语言中的&运算符,百度百科是这样定义的:(&p)则是这样一种运算,返回当时声明p 时开辟的地址:但是根据我对代码的观察,我觉得&运算符不只是返回地址的功能: 例如: in ...
- 搬运1:关于对C语言中数组名取地址加减等操作的一点探究
对于数组名取地址强制转换的操作 偶然在晚上学了C语言指针后网页闲逛找题时,被一个数组名取地址搞糊涂了,在自己试验加探索后我稍微悟了一点东西. 代码如下: #include<stdio.h> ...
- 为什么C语言Scanf函数对字符串不要加 取地址运算符&
原文1:http://www.360doc.com/content/16/0515/11/19455598_559288667.shtml 原文2:https://zhidao.baidu.com/q ...
- C语言对数组取地址
#include <stdio.h> main() { ] = {,,,,}; printf("a=%p\n" , a); printf("a=%p\n&qu ...
随机推荐
- 代码随想录训练营day 5|24.两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题02.07.链表相交 142.环形链表Ⅱ
24. 两两交换链表中的节点 题目链接:24. 两两交换链表中的节点 题目描述:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行 ...
- SAP BW/4HANA学习笔记2
2.Data Modeling BW/4HANA Data Modeling简介 Data Quality:数据质量问题: silos(桶仓):大量重复冗余的主数据,独立计算统计: 数据silos缺点 ...
- Jsonhelper类
public static class JsonHelper { #region json转对象 /// <summary> /// json转对象 /// </summary> ...
- 使用vue3对数据进行分页展示
要获取用户的滚动位置,可以在末尾添加一列空白节点.每当出现空白时意味着滑倒网页最底部,则进行渲染数据.可以使用getBoundingClientRect来判断是否在页面底部. getBoundingC ...
- k8s部署-kubeadm
环境配置 内核配置 基本组件安装 高可用组件安装 kubeadm集群初始化
- scrollIntoView()方法将元素滚动到浏览器窗口的可见区域
TIPS:容器可滚动时才有用! 语法 element.scrollIntoView(); // 等同于element.scrollIntoView(true) element.scrollIntoVi ...
- 在nestjs中使用rabbitmq
1.安装rabbitmq: docker run -dit --name myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_P ...
- C语言II博客作业03
1.作业头 这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2/ 这个作业要求在哪里 https://edu.cnblogs.com/ca ...
- 无感知WPF窗口透明加穿透
在窗口的XAML文件中添加以下属性: ShowInTaskbar="False" WindowStyle="None" AllowsTransparency=& ...
- 排查前端接受后端的map产生的字段错误
报错内容 [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingExce ...