如题所述
运行的时候需要分配内存吧
不然仅仅是指针数组,指针本身没有指向任何地址,是没有存储空间的
代码如下
#include <stdio.h>
#include <stdlib.h>
#define N 3
int main(void)
{
char* a[N];
int i;
for(i = 0; i < N; ++i) {
a[i] = (char*)malloc(20); // 每个字符串20个字节
gets(a[i]); // 读取字符串
}
for(i = 0; i < N; ++i) {
puts(a[i]); // 输出
free(a[i]); // 释放内存
}
return 0;
}
测试无误
有问题继续
不然仅仅是指针数组,指针本身没有指向任何地址,是没有存储空间的
代码如下
#include <stdio.h>
#include <stdlib.h>
#define N 3
int main(void)
{
char* a[N];
int i;
for(i = 0; i < N; ++i) {
a[i] = (char*)malloc(20); // 每个字符串20个字节
gets(a[i]); // 读取字符串
}
for(i = 0; i < N; ++i) {
puts(a[i]); // 输出
free(a[i]); // 释放内存
}
return 0;
}
测试无误
有问题继续
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-07-11
#inclued <iostream.h>void main(){char *p=new char ();cin>>&p;cout<<*p;}
第2个回答 2013-07-11
用循环~比如char *p[10]; for(i=0;i<10;i++){ gets(p[i]);} for(i=0;i<10;i++){ puts(p[i]);} 指针数组其实跟数组差不多~本回答被网友采纳