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;
}
相关推荐
嘟嘟07173 小时前
顺时针螺旋填充 n×n 矩阵:手撕 generateMatrix 的四个 for 循环
javascript·算法·面试
Nil2083 小时前
leetcode 206反转链表
算法·leetcode·链表
Kstheme3 小时前
大模型内部是怎么运作的?从「一个神经元」拆到「残差流」
算法
郝学胜_神的一滴3 小时前
并查集深度入门:从玄学抽象到 QuickFind & QuickUnion 源码实战
数据结构·算法
CarIise3 小时前
C语言基础课程笔记:硬件原理、数据类型、结构体与格式化输入输出详解
c语言·开发语言·笔记
GeekZHR3 小时前
C语言指针2:数组名、二级指针、指针数组,一次把“指针和数组“讲透
c语言·数据结构·算法·指针
h_a_o777oah3 小时前
【算法基础】卡特兰数:递推定义与折线对称公式推导及解题策略
c++·算法·acm·组合数学·卡特兰数·反射原理·动态规划dp
JAI科研3 小时前
Deepseek Agent Harness教程(二) | DeepSeek Harness 设计思路
人工智能·深度学习·算法·机器学习·自然语言处理·transformer·vllm
还不秃顶的计科生4 小时前
具身智能论文学习10:π0: A Vision-Language-Action Flow Model for General Robot Control
人工智能·深度学习·算法·机器学习·语言模型·vla·vlm
Dr.kangder4 小时前
嵌入式面试总结(二十一)——C语言关键字
c语言·开发语言·面试·职场和发展·架构·虚拟化