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;
}
本文来自博客园,作者:江水为竭,转载请注明原文链接:https://www.cnblogs.com/Az1r/p/16667564.html