首页 > 其他分享 >指针的入门

指针的入门

时间:2024-05-26 14:00:37浏览次数:19  
标签:入门 指向 int 地址 num ptr 指针

听课笔记

#include<stdio.h>
int main()
{
	int num=1;
	//定义了一个指针变量,指针
	//说明
	//1:int*表示类型为指针类型
	//2:名称ptr,ptr就是一个int*类型
	//3:ptr指向了一个int类型的变量的地址 
	int *ptr=&num; 
	
	//num的地址是多少
	//说明1:如果要输出一个变量的地址,使用的格式是%p
	//说明2:&num表示取出num这个变量对应地址
	printf("num的值=%d num地址是=%p",num,&num);
	
	//1指针变量,本身有地址 
	// 2指针变量,存放的地址ptr
	//3获取指针指向的值*ptr 
	 printf("\nptr的地址=%p ptr存放的值是一个地址=%p ptr指向的值=%d",&ptr,ptr,*ptr);
	getchar();
}

#include<stdio.h>
int main()
{
	int a=300;//a=300
	int b=400;//b=400
	int *ptr=&a;//ptr指向a 
	*ptr=100;//a=100 
	ptr=&b;//注意:ptr指向b 
	*ptr=200;//b=200
	printf("a=%d,b=%d,*ptr=%d",a,b,*ptr);//a=100,b=200,*ptr=200
	return 0;
}

指针包括:

1)基本类型的指针

2)指向数组的指针,指向结构体的指针,指向共用体的指针,二级指针,多级指针

值传递与地址传递:

C语言传递参数(或者赋值),可以是值传递,也可以是传递指针,传递指针也叫地址传递。

1)默认传递值的类型:基本数据类型(整型类型,小数类型,字符类型),结构体,共用体

2)默认传递地址的类型:指针,数组

#include<stdio.h>
int main()
{
	int num=100;
	int *p=&num;
	int *p2=p;
	*p2=55;
	printf("num=%d *p=%d *p2=%d",num,*p,*p2);//55 55 55
	return 0;
}

内存分配示意图:

标签:入门,指向,int,地址,num,ptr,指针
From: https://blog.csdn.net/2301_80971512/article/details/139182887

相关文章

  • 剪辑赚钱靠谱吗?剪辑赚钱软件、自媒体怎么入门、自媒体如何赚钱、写作赚钱的平台,软件。
     我试过8种,现在还在搞的只有2个。副业收入每月5k+,算下来平均每天100多,好的时候一天能赚两三百。但是现在搞副业,坑多水深的,太多人栽跟头了,丢几百块都能算少的。我摸索了半年,被骗了2k 元子才开始走对路子。现在收益稳定,而且所有的投入都回本了。今天分享的都是我亲测......
  • 【C++函数指针】
    voidf(stringname){ cout<<"f()->mynameis:"<<name<<endl;}intmain(){ f("1"); autoi=f; i("2");}鼠标放在i上面可以看到类型,所以还可以这样: void(*j)(string)=f; j("2"); typedefvoid(*m)(st......
  • Ae 从入门到精通之九:表达式
    与使用关键帧相比,Ae的表达式 Expression也用于控制属性值。只不过使用表达式能简化操作,大大提高工作效率,使复杂动画的制作变得更轻松。◆  ◆  ◆表达式语法基础表达式基于标准的JavaScript语言。如果熟悉脚本语言编程,在Ae中使用表达式会更加容易。不过,不会J......
  • 【QGIS入门实战精品教程】10.7: 基于DEM的地形因子分析(坡度、坡向、粗糙度、山体阴影、
    文章目录一、加载dem二、山体阴影三、坡度四、坡向五、地形耐用指数六、地形位置指数七、地表粗糙度一、加载dem二、山体阴影方法一:符号系统利用符号系统中的山体阴影,渲染出阴影效果。方法二:山体阴影工具该算法计算输入中的数字化地形模型的山体阴......
  • MySQL入门——增删查改(下)
    数据库约束约束类型NOTNULL-指示某列不能存储NULL值。UNIQUE-保证某列的每行必须有唯一的值。DEFAULT-规定没有给列赋值时的默认值。PRIMARYKEY-NOTNULL和UNIQUE的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的......
  • 深入理解C++智能指针系列(一)
    引言都知道C/C++的最难的就是需要程序员自己管理内存,往往会因为一个简单的逻辑错误导致内存管理异常。通常内存管理过程中会遇到以下问题:内存泄漏:当开发者忘记释放已分配的内存时,就会发生内存泄漏。这种情况在大型项目中非常常见,项目中存在大量动态内存操作时,很容易遗漏......
  • git 入门学习(持续学习ing)
    目录为什么要学习使用Git?什么是Git?Git的下载和安装1.进入Git官网,并跳转到Windows版本下载界面2.下载64位Windows操作系统(也可以根据自己电脑实际信息进行选择)3.下载完成后,双击下载程序,一直点击下一步即可完成安装(一路回车法)4.安装完成后,在桌面空白处点击右键,会发现多了两个菜......
  • springcloudalibaba入门(一)
    1、父工程pom文件<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apac......
  • Python小白必备!清华大牛整理的《Django零基础入门到精通》手册
    Django是Python社区的两大最受欢迎的Web框架之一(另一个是Flask)。凭借功能强大的脚手架和诸多开箱即用的组件,可以使你能够以最小的代价构建和维护高质量的Web应用。从好的方面来看,Web开发激动人心且富于创造性;从另一面来看,它却是份繁琐而令人生厌的工作。通过减少重复......
  • Java SE入门及基础(53)& 方法引用
    目录方法引用1.应用场景示例分析2.方法引用符示例解释说明3.静态方法引用语法示例4.成员方法引用语法示例示例5.this引用成员方法语法示例6.super引用父类成员方法语法示例7.构造方法引用语法示例方法引用1.应用场景方法引用   来......