尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

c语言 第六章下:指针(持续更新中……)

c语言 第六章下:指针(持续更新中……) 7.指针数组指针数组本质是数组该数组中保存的是指针。语法int a[5];int *a[5];int * :数组中保存的数据类型该数组中保存的元素是int *指针[5] :该数组中可以保存5个指针int *定义了一个可以保存5个整形指针的数组整体占40个字节char *p[5];①指针数组的定义指针类型 数组名[元素个数]②指针数组的初始化char *p NULL;char *p[5] {NULL};将5个字符型指针初始化成NULLchar *p hello;char *p[5] {hello, world, how, are, you};p[0] char * p[0]指针保存字符串常量hello的首地址p[1] char * p[1]指针保存字符串常量world的首地址p[2] char * p[2]指针保存字符串常量how的首地址p[3] char * p[3]指针保存字符串常量are的首地址p[4] char * p[4]指针保存字符串常量you的首地址char *p1 hello;char *p2 world;char *p3 how;char *p[3] {p1, p2, p3};③指针数组和二维字符型数组区别char str[3][100] {hello, world, how};sizeof(str) 300字节char *pstr[3] {hello, world, how};sizeof(pstr) 3 * sizeof(char *) 24字节【区别】1.二维字符型数组中保存的是多个字符串本身指针数组中保存的是多个字符串的首地址。2.要保存多个字符串用二维字符型数组要操作多个字符串用指针数组。8.二级指针二级指针本质还是指针是一个指针变量的地址。int **指针名称---》保存整形指针的指针char **指针名称---》保存字符型指针的指针C语言中主要有两个二级指针的使用场景1.想要在被调函数中修改主调函数中的指针变量实参需要传递该指针变量的地址形参用二级指针接收。2.指针数组的数组名是一个二级指针实参传递指针数组的数组名时形参可以用二级指针接收。char *str[3] {hello, world, how};str[0] --- char * ---保存了字符串常量hello的首地址str str[0] char **二级指针值传递无法在被调中修改主调中的变量只能使用该变量指针传参可以在被调中修改主调中定义的变量也可以使用该变量值传递恰好传递的值是一个指针变量无法在被调用修改主调中定义的指针变量可以使用该指针变量。指针传参可以在被调函数中可以修改主调函数中定义的指针变量也可以使用该变量
返回列表