听课笔记
#include<stdio.h>
int main()
{
int num=1;
//定义了一个指针变量,指针
//说明
//1:int*表示类型为指针类型
//2:名称ptr,ptr就是一个int*类型
//3:ptr指向了一个int类型的变量的地址
int *ptr=#
//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=#
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