C语⾔实现⼆维数组操作--元素个数确定代码如下:
/*
本例⽤于测试C语⾔实现⼆维数组的创建、输出和内存释放
结论:⼆维数组只适合数组元素个数确定的情况,如果元素个数不确定,最好是⽤链表。
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 5
// 创建并初始化⼆维数组
char** get2DArray(int n)
{
int i = 0;
char temp[256] = {0};
char **p = malloc(sizeof(char*) * n);
for(i = 0; i < n; i++)
{
p[i] = malloc(256);
sprintf(temp, "hello%d", i);
strcpy(p[i], temp);
}
return p;
}
// 输出(显⽰)⼆维数组
void display2DArray(char *p[], int n)
{
int i;
if(p != NULL)
{
for(i = 0; i < n; i++)
{
printf("p[%d]=%s\n", i, p[i]);
}
}
}
// 释放⼆维数组
void free2DArray(char *p[], int n)
{
int i;
if(p != NULL)
{
for(i = 0; i < n; i++)
{
if(p[i] != NULL)
free(p[i]);
}
free(p);
}
}
void main()
{
char **p = get2DArray(N);
display2DArray(p, N);
free2DArray(p, N);
怎么定义二维数组c语言}
结论:
1. ⼆维数组只适合数组元素个数确定的情况,如果元素个数不确定,最好是⽤链表。
2. 如果是C++的话,最好⾃⼰封装⼀个类,在类⾥实现动态内存空间的管理。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论