指针
int a = 10;
int* p = &a;//p是指针变量,int*为p的类型,*是解引用操作符\间接访问操作符
*p = 20;//这样可以间接改变a的值,使a原本=10变为20
printf("%d\n,sizeof(p)");//sizeof查p占了多少字节空间,这里和p没有关系,与机器有关,32位机器则占4个字节,64位则占8个字节
结构体
在C语言中,可以使用 结构体(Struct) 来存放一组不同类型的数据。 结构体的定义形式为: 结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的 成员(Member) 。
创建一个结构类型
struct book
{
char name[20];
short price;
};//这里;不能丢,是结束结构体类型
int main()
{
//利用结构体类型,创建一个该类型的结构体变量
struct book b1 = {"c语言",55};
printf("书名:%s\n",b1.name);//. 结构体变量成员
printf("价格:%d\n",b1,price);
return 0;
}
->? ?
成员选择操作符? ?形式:结构体指针->成员
struct book* pb = &lb1;
printf("%s\n",pb->name);①
printf("%s\n",(*pb).name);②
①②两句表达意思相同
strcpy——string copy ——字符串拷贝
它是库函数,使用时必须有头文件#include<string.h>
作用:修改字符串操作
应用:strcpy(b1.name,"c++")这样就可以把C语言书名改为c++
|