栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

初始C语言

Python 更新时间:发布时间: 百科书网 趣学号

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 前言
  • 一、指针是什么?
  • 二、指针类型
    • 1.为什么要区分指针类型
    • 2.野指针
  • 三、指针和数组
    • 1.指针数组
  • 总结


前言

提示:
c语言中指针是最最最最精彩的一个部分
可以说C语言因指针而辉煌
那指针到底是什么?


一、指针是什么?

指针按照我们字面理解就是指向某一个东西
指针地址就是说明这个东西的地址,在内存中看来就是存放这个地方的地址

二、指针类型 1.为什么要区分指针类型

代码如下(示例):


由图可见,虽然指针类型不同,但是它们所占的空间大小是一样的,都是4个字节,那为什么要区分指针类型呢?

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

代码如下(示例):

int main()
{
	int a = 0x11223344;
	//int *pa=&a;	//int*的指针在解引用时访问了4个字节
	//*pa = 0;
	
	char* pc = &a;	//char*的指针在解引用时访问了1个字节
	*pc = 0;
	return 0;
}

例:对于char类型的指针来说,每次更改的 是地址的1个字节的数据,这样在对int整型数据进行操作时会发生错误,达不到预期的效果,因此我们需要对于指针区分类型。

int main()
{
	int arr[10] = { 0 };
	char* p = arr;
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		*(p + i) = 1;
	}
	return 0;
}

这里面是对arr数组通过解应用其地址,用for循环改变值

2.野指针

为了避免出现野指针,我们可以作些什么:
1.变量初始化
2.不知道初始化为什么的时候就初始化为 NULL
3.避免指针越界
4.指针指向的空间释放完立即把指针置空NULL

三、指针和数组 1.指针数组

int arr[10];//整型数组 - 存放整型的数组
char ch[5];//字符数组 - 存放的是字符
//指针数组 - 存放指针的数组
int*parr[5];//整形指针的数组

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };

	int* p = arr;
	printf("%dn", arr[2]);
	printf("%dn", p[2]);
	printf("%dn", *(p+2));
	printf("%dn", 2[arr]);
	printf("%dn", 2[p]);

	return 0;
}

这里面输出的都是下标为2的数组的值

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/295977.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号