【C语言】看小甲鱼视频写代码(1)

指针数组和数组指针

指针数组:char* p[] 数组里面存放指针

//const作用: 定义一个变量,值不可被改变,在整个作用域中固定
#include<stdio.h>
int main() {
    int p1[5] = {1,2,3,45,5};
	printf("%d\n", p1[1]);// 数组通过下标访问值
	const char* p[] = { "你","好","世界" }; //指针数组
	printf("%s\n", p[1]);

	int i;
	for (i = 0; i < 5; i++) {
		printf("%d\n", p1[i]);//循环访问数组中的所有值
	}
	for (i = 0; i < 3; i++) {
		printf("%s", p[i]);//循环访问数组中的所有值
	}
	return 0;
}

在这里插入图片描述
数组指针:int(*p2)[5] 指针指向数组

#include<stdio.h>
int main() {
	int temp[5] = { 1,2,3,4,5 };
	int(*p2)[5] = &temp;
	int i;
	for (i = 0; i < 5; i++) {

		printf("%d\n", *(*p2 + i));//数组指针
	}
	for (i = 0; i < 5; i++) {
		printf("%d\n", temp[i]);//数组
	}
	return 0;
}

在这里插入图片描述

void空指针的应用

任何类型的指针都可以赋值给void指针。

#include<stdio.h>
int main() {
	int a = 1024;
	int* pi = &a;
	 char p[] = "i love you";
	 char* ps = p;
	void *pv;
	printf("%p\n", &a);
	pv = pi;
	printf("%p\n", pv);
	printf("%d\n", *pi);
	printf("%d\n", *(int*)pv);

	printf("%p\n", p);
	pv =ps;
	printf("%p\n", pv);
	printf("%s\n", ps);
	printf("%s\n", (char*)pv);

}

在这里插入图片描述
地址可以直接赋值,但是输出里面的值的时候,必须进行强制类型转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值