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 ...
随机推荐
- Ubuntu20下载安装Docker
安装Docker 卸载旧版本 sudo apt-get remove docker \ docker-engine \ docker.io 使用apt安装 sudo apt-get update su ...
- PHP 调用外部接口
//1.类中定义静态方法 class FtpService{ /** * 请求外网 * @param $url 外网接口url * @param bool $params 参数,拼接字符串 post请 ...
- 不用VS,使用NET 7.0 SDK (v7.0.101)编程c#控制台应用程序方法
摘要:如果没有vs环境,也可以编程c#控制台应用程序学习c#,方法步骤有下面几个步骤. 1.下载NET 7.0 SDK (v7.0.101)安装 网址https://dotnet.microsoft. ...
- python 非阻塞线程对话框,非qt(解决qt MessageBox使用线程时候卡死问题)
def msg_okbox(self, strinfo, isYesno=False): if isYesno: return win32api.MessageBox(None, strinfo, & ...
- Flutter 登录与list列表demo
import 'package:flutter/material.dart'; void main() => runApp(DemoApp()); class DemoApp extends S ...
- android audiorecord初始化失败相关资料收集
We're also struggling with audio recording on some Samsung Android Devices. Unfortunately it seems t ...
- ApexSQLDBA 2019.02.1245[破解补丁]
ApexSQL DBA 2019.02.1245 破解补丁 支持ApexSQL Log.ApexSQL Plan.ApexSQL Recover 该版本支持SQLSERVER 2019 开源地址: h ...
- input放入焦点,选中全部文本
async mounted(){ let inputList = document.querySelectorAll('input'); for (let index = 0; index < ...
- H5网页CAD中webpack使用详细说明
前言 webpack是用于现代 JavaScript 应用程序的静态模块打包工具,用以构建一个前端工程化项目,如vue-cli create-react-app等脚手架工具都是基于webpack的构建 ...
- C# IObservable与IObserver通知机制 观察者模式(推式模型)
using System; using System.Collections.Generic; using System.Linq; using System.Threading; using Sys ...