C语言[char**]与[malloc]的组合使用

简介

首先!要搞懂char**是什么?

我们知道 char* 是字符指针,是一个地址,指向一个字符串。

那么 char** 就是指向 char* 的指针,也是一个地址,指向指针的指针。

使用char** 的时候,通常是用作函数参数。

为了深入理解呢,我们直接定义使用,然后配合malloc(申请内存)来展示

使用

点击查看代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i;
	int n;
	scanf("%d",&n);//n为字符串个数 
	char **a=(char**)malloc(sizeof(char*)*n);//申请有n个字符串的内存 
	for(i=0;i<n;i++)
	{
		//指针可以用数组来表示 
		a[i]=(char *)malloc(sizeof(char)*5);//申请字符串的大小 
		scanf("%s",a[i]);
	}
	for(i=0;i<n;i++)
	{
		printf("%s\n",a[i]);
		free(a[i]);//释放每个字符串的内存 
	}
	free(a);//释放指向指针的a指针的内存 
	return 0;
}
posted @ 2022-09-07 22:34  江水为竭  阅读(137)  评论(0编辑  收藏  举报