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;
}
相关推荐
三毛的二哥12 小时前
BEV:典型BEV算法总结
人工智能·算法·计算机视觉·3d
南宫萧幕13 小时前
自控PID+MATLAB仿真+混动P0/P1/P2/P3/P4构型
算法·机器学习·matlab·simulink·控制·pid
charlie11451419114 小时前
嵌入式C++工程实践第16篇:第四次重构 —— LED模板,从通用GPIO到专用抽象
c语言·开发语言·c++·驱动开发·嵌入式硬件·重构
handler0114 小时前
Linux: 基本指令知识点(2)
linux·服务器·c语言·c++·笔记·学习
故事和你9114 小时前
洛谷-数据结构1-4-图的基本应用1
开发语言·数据结构·算法·深度优先·动态规划·图论
我叫黑大帅14 小时前
为什么map查找时间复杂度是O(1)?
后端·算法·面试
炽烈小老头14 小时前
【每天学习一点算法 2026/04/20】除自身以外数组的乘积
学习·算法
skilllite作者15 小时前
AI agent 的 Assistant Auto LLM Routing 规划的思考
网络·人工智能·算法·rust·openclaw·agentskills
破浪前行·吴16 小时前
数据结构概述
数据结构·学习
py有趣16 小时前
力扣热门100题之不同路径
算法·leetcode