
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录提示:
c语言中指针是最最最最精彩的一个部分
可以说C语言因指针而辉煌
那指针到底是什么?
指针按照我们字面理解就是指向某一个东西
指针地址就是说明这个东西的地址,在内存中看来就是存放这个地方的地址
代码如下(示例):
由图可见,虽然指针类型不同,但是它们所占的空间大小是一样的,都是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
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提供了大量能使我们快速便捷地处理数据的函数和方法。