当前位置 : 主页 > 编程语言 > c语言 >

C语言-结构体 4

来源:互联网 收集:自由互联 发布时间:2023-08-28
1、一个变量如用来存放地址的,该变量称为指针变量 int* p=a; //p的类型是int*,变量是 p; // :解引用操作符/间接访问操作符 #include stdio.hint main(){int a=10;//分配了4个字节的空间printf("%p\

1、一个变量如用来存放地址的,该变量称为指针变量

int* p=&a; //p的类型是int*,变量是

p;  //:解引用操作符/间接访问操作符 

#include <stdio.h>


int main()
{
	int a=10;//分配了4个字节的空间
	printf("%p\n",&a);
	int* p=&a;  //这里的*只提示p是一个指针变量,无其他作用
	printf("%p\n",p);  //
	
	*p=20;//*:指解引用操作符/间接访问操作符
	printf("%d\n",a);
	
	return 0;
}

一、结构体

结构体使C语言有能力描述复杂类型,eg:描述学生(学生包含:年龄、学号等多项信息)

人、书——复杂对象——使用结构体来描述,——这个是我们创造出来的一种类型

创建一个结构体类型

#include <stdio.h>


//创建一个结构体类型
struct Book
{
	char name[20];//书名定为:C语言程序设计
	short price;//价格定为:55
};//;不能缺少,用于结束该类型定义
	
	
int main()
{
	//利用结构体类型——创建出一个该类型的结构体变量
	struct Book b1={"C语言程序设计",55};
	printf("书名:%s\n",b1.name);//输出结果:书名:C语言程序设计
	printf("价格:%d\n",b1.price);//输出结果:价格:55
	
	b1.price=20;
	printf("修改后的价格:%d元\n",b1.price);//输出结果:修改后的价格:20元
	
	return 0;
}

修改结构体中的内容

使用strcpy需要引用string.h头文件

price变量是可以 b1.price=15;直接修改的

name不是变量是数组,无法直接修改,数组名本质是一个地址

使用strcpy修改:--string copy-字符串拷贝-库函数-string.h

#include <stdio.h>
#include <string.h>  //使用strcpy需要引用string.h头文件

//创建一个结构体类型
struct Book
{
	char name[20];//书名定为:C语言程序设计
	short price;//价格定为:55
};
	
	
int main()
{
	//利用结构体类型——创建出一个该类型的结构体变量
	struct Book b1={"C语言程序设计",55};
	strcpy(b1.name,"C++");
  //strcpy--string copy-字符串拷贝-库函数-string.h
	printf("%s\n",b1.name);
	

	
	return 0;
}

//.  :结构体变量.成员

//-> :结构体指针->成员

#include <stdio.h>


//创建一个结构体类型
struct Book
{
	char name[20];//书名定为:C语言程序设计
	short price;//价格定为:55
};
	
	
int main()
{
	//利用结构体类型——创建出一个该类型的结构体变量
	struct Book b1={"C语言程序设计",55};
	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;
}


上一篇:三维点云及算法详解
下一篇:没有了
网友评论