首先!要搞懂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; < code></n;i++)></stdlib.h></stdio.h>
Original: https://www.cnblogs.com/Az1r/p/16667564.html
Author: 江水为竭
Title: C语言[char**]与[malloc]的组合使用
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/683747/
转载文章受原作者版权保护。转载请注明原作者出处!