指向整型指针的指针(类型为int **)与 int * 、int *[ ] 这两种类型有什么关系?

1个回答
展开全部
摘要 int **、int *、int *[] 都是指向整型变量的指针,但它们有所不同。int * 是一个指向 int 类型的指针,即一个整型变量的地址,int *[] 是一个指向 int * 类型元素的数组,即一个指向整型指针的数组。而 int ** 是一个指向 int * 类型指针的指针,即一个指向整型指针的地址。因此,int ** 可以用来动态创建二维数组,而 int *、int *[] 不能。
咨询记录 · 回答于2023-05-31
指向整型指针的指针(类型为int **)与 int * 、int *[ ] 这两种类型有什么关系?
int **、int *、int *[] 都是指向整型变量的指针,但它们有所不同。int * 是一个指向 int 类型的指针,即一个整型变量的地址,int *[] 是一个指向 int * 类型元素的数组,即一个指向整型指针的数组。而 int ** 是一个指向 int * 类型指针的指针,即一个指向整型指针的地址。因此,int ** 可以用来动态创建二维数组,而 int *、int *[] 不能。
C语言程序在启动时,怎样将参数传给main函数?main函数的参数有什么用处?main函数的参数,通常以argv命名,argv是什么类型?
指向整型指针的指针(类型为int **)可以用来存储指向指针的地址,而 int * 表示指向整型的指针,可以用来存储整型数据的地址。int *[ ] 表示指向整型指针的数组,可以用来存储整型指针的地址。int ** 和 int * 之间的关系是,int ** 可以指向一个 int * 变量的地址,也就是说,它可以指向一个指向整型数据的指针。而 int *[ ] 与 int ** 之间的关系是,int *[ ] 可以存储多个 int * 变量的地址,也就是说,它可以存储指向多个指向整型数据的指针的地址。举个例子,假设有一个指向整型指针的指针 int **p,一个指向整型数据的指针 int *q,和一个指向整型指针的数组 int *a[10]。那么,p 可以指向 q 的地址,也可以指向 a 数组中的某个元素的地址,而 q 只能指向整型数据的地址,a 数组中的每个元素都是一个指向整型数据的指针,而 a 数组本身是一个指向整型指针的指针。
C语言程序启动时,可以将命令行参数传递给main函数。命令行参数是指在命令行中输入程序名称后,紧随其后的字符串序列,每个字符串之间用空格隔开。例如,命令行中输入"myprogram arg1 arg2",其中"myprogram"是程序名称,"arg1"和"arg2"是命令行参数。main函数的参数可以分为两个,分别是argc和argv。其中,argc表示命令行参数的数量,包括程序名称在内;argv是一个指向指针的指针,它是一个指向命令行参数字符串的指针数组。argv[0]指向程序名称,argv[1]指向第一个命令行参数,以此类推。main函数的参数有很多用处,例如可以通过命令行参数来控制程序的行为,比如指定输入文件名、输出文件名、程序运行模式等。通过命令行参数,可以使程序更加灵活,更易于使用。argv是一个指向指针的指针,它的类型是char **,也可以写成char *argv[]。每个指针都指向一个以空字符结尾的字符串,即一个命令行参数字符串。
指向函数的指针,简称:函数指针,可以作为函数的参数,也可以作为数组中的元素。函数指针的这两种使用方法,用于解决什么样的问题
指向函数的指针可以作为函数的参数,这种用法可以用于解决回调函数的问题。回调函数是指在一个函数中调用另一个函数时,将另一个函数的指针作为参数传递给调用函数的方式。通过使用函数指针作为函数的参数,可以使得函数更加灵活,可以在运行时动态地指定需要调用的函数。指向函数的指针也可以作为数组中的元素,这种用法可以用于实现函数指针数组。函数指针数组是一个数组,其中每个元素都是一个指向函数的指针。通过使用函数指针数组,可以方便地实现函数的动态调用,可以根据不同的条件选择不同的函数进行调用。总之,函数指针的这两种使用方法都可以使得程序更加灵活,更易于维护和扩展。
怎么啦亲
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消