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 小时前
【Python】【机器学习】十大算法简介与应用
python·算法·机器学习
丰海洋2 小时前
leetcode-hot100-1.两数之和
数据结构·算法·leetcode
苦藤新鸡2 小时前
58 单词搜索
数据结构·算法
_F_y2 小时前
背包问题动态规划
算法·动态规划
Frostnova丶2 小时前
LeetCode 401. 二进制手表
算法·leetcode
Wect2 小时前
LeetCode 104. 二叉树的最大深度:解题思路+代码解析
前端·算法·typescript
Wect2 小时前
LeetCode 100. 相同的树:两种解法(递归+迭代)详解
前端·算法·typescript
不会敲代码12 小时前
面试必考:如何优雅地将列表转换为树形结构?
javascript·算法·面试
流云鹤2 小时前
数学入门(快速幂&乘法逆元&GCD&质数&组合数)
算法