//#include<stdio.h>
//
//int main()
//{
// float values[N_VALLUES];
// float *vp;
// // 1.优先(priority)
// for (vp = &values[ N_VALLUES/* 5 */ ] /*第六个元素*/; vp > &values[0]/*指针是可以比较大小的*/ ; /*省略了*/ )
// { //允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较;
//
// *–vp = 0;// 省略部分在这
// }
//
// 2.
// //for (vp = &values[N_VALLUES-1]; vp >= &values[0];vp–)//C语言的标准,并不保证它能运行
// //不允许与指向第一个元素之前的那个内存位置进行比较
//
// //C语言标准规定:
// //允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较;
// //但不允许与指向第一个元素之前的那个内存位置进行比较
//
// //{
// // *vp = 0;// 省略部分在这
// //}
// return 0;
//}
指针和数组
数组
//#include<stdio.h>
//int main()
//{
// int arr[10] = { 0 };
// printf(“%p\n”,arr);//打印首元素地址
// printf(“%p\n”, &arr);//打印数组的起始地址
// printf(“%p\n”, &arr[0]);//打印首元素地址
// //在绝大部分情况,数组名表示是首元素地址
// //但有两种情况例外
// // &数组名,arr代表的是整个数组的起始地址。
// //sizeof(数组名),arr代表的是整个数组,sizeof计算的是整个数组的大小,单位byte
//
// printf(“------------------------\n”);
// printf(“%p\n”, &arr[0]); // 00F3F8E8 首地址
// printf(“%p\n”, &arr[0] + 1);//00F3F8EC加了4字节,因为数组元素类型 int
//
// printf(“%p\n”, &arr);// 00F3F8E8 数组的起始地址
// printf(“%p\n”, &arr + 1);// 00F3F910 加了40字节(2 * pow(16,1) + 8 * pow(16,0)),
// //即跳过一个数组
//
// return 0;
//}
指针
//#include<stdio.h>
//int main()
//{
// int arr[10] = { 0 };
// int* p = arr;// 指针变量p 存的是 arr首地址
// int i = 0;
// for (i = 0; i < 10; i++)
// {
// printf(“%p…%p\n”,p+i/*根据数组首元素地址找到我们想要打印的元素地址*/,&arr[i]);// 两者是等价de
// //如果输出是 %d 型,输出元素,需要解引用操作符*
// //例: *(p+i) 或者 &arr[i]
// }
// return 0;
//}
二级指针、
//#include<stdio.h>
//int main()
//{
// int a = 10;
//
// //pa 一级指针变量,变量的创建,需要在内存中开辟空间
// int * pa = &a;//一级指针类型 ;最右边的*,告诉我们 pa 是一个指针
// // 而int,告诉我们 pa 指向的那个对象的类型为 int
//
// int* * ppa = &pa;// 二级指针 最右边的*,告诉我们 ppa 是一个指针
// // 而int*,告诉我们 ppa 指向的那个对象的类型为 int*
//
// int** * pppa = &ppa;// 三级指针 最右边的*,告诉我们 pppa 是一个指针
// // 而int**,告诉我们 pppa 指向的那个对象的类型为 int**
//
// // n 级指针,可按照上表达式的规律写出
//
// //二级指针使用方法
// printf(“%d\n”, **ppa);//*ppa == pa ; *(pa)= a ;**ppa == a
// // 上下两个表达式 输出为 10
// printf(“%d\n”, a);
//
//
// **ppa = 20;
// printf(“%d\n”, **ppa);
// printf(“%d\n”, a);//两个表达式输出 是 20
// return 0;
//}
指针数组 - 本质上是一个数组 :就是 数组是主语(subject), 指针是个形容词(adjective)
指针数组 是 存放指针 的数组 //整形数组 - 存放整形 // 字符数组 - 存放字符
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
int c = 30;
// int* a = &a;
// int* b = &b;
// int* c = &c;
int* arr2[3] = { &a,&b,&c };//它就是一个指针数组
int i = 0;
for (i = 0; i < 3; i++)
{
printf(“%p\n”, arr2[i]);
printf(“%d\n”, *(arr2[i]));
printf(“\n”);
最后
手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友
{
printf(“%p\n”, arr2[i]);
printf(“%d\n”, *(arr2[i]));
printf(“\n”);
最后
手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友
[外链图片转存中…(img-8I1k3pFC-1719480439672)]