C语言-指针-6

1)指针

int* pa = &a; :声明了一个整型指针变量 pa,并将其指向变量 a 的地址。

char* pb = &b; :声明了一个字符型指针变量 pb,并将其指向变量 b 的地址。

int* pc = &c; :声明了一个整型指针变量 pc,并将其指向变量 c 的地址。

*pc = 200; :通过指针 pc 解引用,即获取指针指向的变量的值,并修改为 200

  • 指针是存储内存地址的变量,通过指针可以访问和修改内存中的数据。
  • 通过使用 & 运算符可以获取变量的地址,并将其赋值给指针变量。
  • 使用 * 运算符对指针进行解引用操作,可以获取指针指向的变量的值或修改它。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int a = 10;         
	int* pa = &a;        
	printf("%p\n", &a);    
	char b = 'w';
	char * pb= &b;
	printf("%p\n", &pb);
	int c=100;
	int * pc=&c;       
	*pc=200;
	printf("%d\n",c);
	return 0;
}

2)指针大小

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
printf("%d\n",sizeof(char*));
printf("%d\n",sizeof(short*));
printf("%d\n",sizeof(int*));
printf("%d\n",sizeof(long*));
printf("%d\n",sizeof(long long*));
printf("%d\n",sizeof(float*));
printf("%d\n",sizeof(double*));
return 0;
}

(3)结构体

定义了两个结构体类型:

struct stu:包含 name(字符数组)、age(整数)和 score(双精度浮点数)成员。

struct book:包含 name(字符数组)、price(双精度浮点数)、sales(单精度浮点数)和 id(字符数组)成员。

创建了一个 struct stu 类型的变量 s,并使用初始值列表对其进行初始化,设置了 nameage  score 成员的值。

使用 printf 函数打印了结构体变量 s 的成员值,包括 nameage  score

创建了 struct stu 类型的指针变量 ps,并将其指向结构体变量 s

使用 (*ps).member 的格式和 ps->member 的格式打印了 ps 指针所指向的结构体变量 s 的成员值,分别打印了 nameage  score

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
struct stu
{
	char name[20];
	int age;
	double score;
};
struct book
{
	char name[20];
	double price;    //double通常具有更高的精度,可以更好地处理小数值
	float sales;

	char id[20];
};
int main()
{
	struct  stu s = { "张三",20,87.5 };  //创建结构体和初始化
	printf("1:%s %d %f\n", s.name, s.age, s.score);
	//.为结构成员方位操作符
	struct stu* ps = &s;
	printf("2:%s %d %f\n", (*ps).name, (*ps).age, (*ps).score);
	printf("3:%s %d %f\n", ps->name, ps->age, ps->score);
	//->操作符
	struct book k = { "普通心理学",48.8,39.9,"bk001" };
	printf("%s,%lf,%lf,%s\n", k.name, k.price, k.sales, k.id);
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值