指针基础
孙浩的博客
这个作者很懒,什么都没留下…
展开
-
指针基础之结构体指针
指针基础之结构体指针 传统结构体定义 //关键字struct +结构体名 如struct person 类似于 int struct person { int age ; char sex; }; //定义结构体类型的变量p1 //结构体成员访问操作符 . struct person p1; p1.age=10; p1.sex='man'; printf("p1的年龄为%d,\n",p1.age ); 输出为:p1的年龄为10 结构体指针定义 //即定义的变量为指针变量 struct perso原创 2020-09-25 12:06:53 · 201 阅读 · 0 评论 -
指针基础之简单的使用与指针运算
指针基础之简单的使用与指针运算 1.指针应用的方面 对于变量可以使用的地方,都可以使用指针进行处理 2.一般来说,会用到函数参数上,会对实参产生改变 3.指针运算是跳其类型的对应的字节数 int arr[10]={1,2,3,4,5,6} 4.nt *p=arr;//数组名代表数组首元素首地址 printf("pa=%p pa+3=%p",pa,pa+3); //跳过的字节数为 3*4 5.指针和数组是可以相互转换的 *(p+n)=p[n]=a[n]=n[p] *p[n]=a[n] ...原创 2020-09-21 20:35:35 · 224 阅读 · 0 评论 -
指针基础之常见指针错误
指针基础之常见指针错误 一.指针可以对普通地址进行完全权限的访问 指针对普通地址有完全访问权限的处理 *p对a有读写的权限,*p的值改变,a的值也跟着改变 int a=10; int *p=&a; *p=100; printf("a=%d *p=%d",a,*p); 输出的值为a=100,*p=100 二、对于常量,无法获取其地址 *p=&10; 三、 下面的操作 虽然可以对数据进行访问,但是数据格式错误,出现乱码、 *p="helloworld"; pr原创 2020-09-21 16:10:15 · 535 阅读 · 0 评论 -
指针基础之字符串与堆区
指针基础之字符串与堆区 一.指针与字符串 第一种形式:char *s="hello world" 定义一个字符指针进行初始化 这个操作是在静态区 申请了一块空间 制作伪常量(只读变量),只能读不能写,否则会报错 第二种形式:char arr[]="hello world" 定义一个字符数组进行初始化 s存储在静态区 arr存储在栈区 对于只能访问不能修改的区域 写操作会导致段错误或总线错误 如*s=‘t’;scanf("%s",s);会导致错误 而char *s1=arr;可以原创 2020-09-12 00:59:50 · 284 阅读 · 0 评论