C语言基础---指针操作符

文章通过三个示例介绍了C语言中的指针用法,包括通过指针访问和修改变量的值,使用解引用操作符(*),取地址运算符(&)以及结构体成员的访问,如使用->和.。在最后一个示例中,展示了如何使用strcpy库函数修改结构体中字符串成员。
摘要由CSDN通过智能技术生成

例一:

通过P里面存的地址找到他所指向的那个对象

p只是个变量,int*p--指针变量p,*p--操作符

%p --以地址的形式打印

*p存放的是a的地址(意思是地址*p=a)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
    int a = 10;//申请了四个字节空间
    printf("%p\n", &a);
    int* p = &a;//p指向a,所以指针的类型是int
    printf("%p\n", p);
    *p = 20;//* - 解引用操作符 /间接访问操作符
    printf("a = %d\n", a);
    printf("%d\n", *p);
    return 0;
}

运行结果:

例二:

单目操作符

&          取地址
sizeof      操作数的类型长度(以字节为单位)
*          间接访问操作符(解引用操作符)

 d是个变量,*pb是个指针变量,*pb =多少是对d进行新的赋值。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
    double d = 3.14;
    double* pb = &d;//32-4    64-8
    *pb = 5.8;//新的赋值
    printf("%lf\n", d);
    printf("%lf\n", *pb);
    printf("%d\n", sizeof(pb));
    return 0;
}

32位运行结果:

 

例三:

访问一个结构的成员

.        结构体.成员名

->      结构体指针->成员名

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//创建一个结构体类型
struct Book 
{
	char name[20];//C语言程序设计
	short price;//33
};
int main() {
	//利用结构体类型创建一个该类型的结构体变量
	struct Book b1 = { "C语言程序设计",33 };
	//printf("书名:%s\n", b1.name);
	//printf("价格:%d元\n", b1.price);
	//b1.price = 15;
	//printf("修改之后的价格:%d\n", b1.price);
	
	//pb指向b1,*pb--指针,指针指向的类型对象是struct Book
	struct Book*  pb = &b1;
	//利用pb打印我的书名和价格
	//俩种操作符.和->
	//.    结构体变量.成员
	//->   结构体指针->成员
	printf("%s\n", pb->name);
	printf("%d\n", pb->price);

	/*printf("%s\n", (*pb).name);
	printf("%d\n", (*pb).price);*/

	return 0;
}

运行结果:

改书名(修改数组-库函数)

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
#include <stdint.h>
//创建一个结构体类型
struct Book 
{
	char name[20];//C语言程序设计
	short price;//33
};
int main() {
	//利用结构体类型创建一个该类型的结构体变量
	struct Book b1 = { "C语言程序设计",33 };
	//strcpy-string copy -字符串拷贝 - 库函数-string.h
	strcpy(b1.name, "C++");
	printf("%s\n", b1.name);
	return 0;

运行结果:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值