C语言-指针,结构体

指针

复制代码
#include<stdio.h>

int main() {
	int a = 10;//向内存申请4个字节,存储10
	//&a;//取地址操作符
	printf("%p\n", &a);//输出地址

	int* p = &a;//当想要把a的地址存起来是用指针变量  ====>  p就是指针变量
	//int 是四个字节,&a==>取地址拿到的是四个字节中最小的地址
	*p = 20;//解引用操作符,意思就是通过p中存放的地址,找到p所指向的对象,*p就是p指向的对象
	printf("%d\n", a);

	//char ch = 'w';
	//char* pc = &ch;
 
    char*p1,*p2,*p3;

	//int* p1;
	//int* p2;
	//不管是什么类型的指针,都是在创建指针变量
	//指针变量是用来存放地址的
	//指针变量的大小取决于一个地址存放的时候需要多大空间
	//32位机器上的地址:32bit位-4byte,所以指针变量的大小是4个字节
	//64位机器上的地址:64bit位-8byte,所以指针变量的大小是8个字节
	printf("%zu\n", sizeof(char*));
	printf("%zu\n", sizeof(short*));
	printf("%zu\n", sizeof(int*));
	printf("%d\n", sizeof(float*));
	printf("%d\n", sizeof(double*));

	return 0;
}

结构体

复制代码
#include<stdio.h>

//结构体
struct Stu
{
	char name[20];
	int age;
	char sex[10];
	char tele[12];
};

void print(struct Stu *ps) {
	printf("%s %d %s %s \n", (*ps).name, (*ps).age, (*ps).sex, (*ps).tele);

	//->
	//结构体指针变量->成员名 
	printf("%s %d %s %s \n", ps->name, ps->age, ps->sex, ps->tele);

}

int main() {

	struct Stu s = {"zhangsan",20,"nan","17550399736"};

	//结构体对象.成员名  ===>  打印
	//printf("%s %d %s %s \n", s.name, s.age, s.sex, s.tele);

	//打印函数
	print(&s);
	return 0;
}
相关推荐
哈里谢顿1 天前
跳表(Skip List):简单高效的有序数据结构
数据结构
CoovallyAIHub1 天前
181小时视频丢给GPT-5,准确率只有15%——南大联合NVIDIA等五校发布多模态终身理解数据集
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
CVPR 2026 | GS-CLIP:3D几何先验+双流视觉融合,零样本工业缺陷检测新SOTA,四大3D工业数据集全面领先!
深度学习·算法·计算机视觉
有意义2 天前
深度拆解分割等和子集:一维DP数组与倒序遍历的本质
前端·算法·面试
用户726876103372 天前
解放双手的健身助手:基于 Rokid AR 眼镜的运动计时应用
算法
Wect2 天前
LeetCode 17. 电话号码的字母组合:回溯算法入门实战
前端·算法·typescript
ZhengEnCi2 天前
08c. 检索算法与策略-混合检索
后端·python·算法
程序员小崔日记2 天前
大三备战考研 + 找实习:我整理了 20 道必会的时间复杂度题(建议收藏)
算法·408·计算机考研
任沫2 天前
字符串
数据结构·后端