我们知道,C语言中一维整型数组可以表示为int arr[] = {1, 2, 3};一维字符数组可以表示为char arr[] = {"abc"}或者char arr[] = {‘a‘, ‘b‘, ‘c‘}或者char arr[] = "abc",甚至可以申请一块地址来存储char *s = (char *)malloc(sizeof(char) * 3)、strcpy(s, "abc")、puts(s);
那么,一维字符串数组该如何表示呢?
其实,可以简单表示为arr[][10] = {"yang", "wang", "zhangsan", "aobama"},也可以表示为char *str[] = {"yang", "wang", "zhangsan", "aobama"};
该一维数组的长度可以通过 sizeof(arr) / sizeof(str[0])来获取到。
一
#include<stdio.h>
int main()
{
int i;
char *str[] = {"yang", "wang", "zhangsan", "aobama"};
for (i = 0; i < sizeof(str) / sizeof(str[0]); ++i)
printf("%s\n", str[i]);
return 0;
}
// 二
#include<stdio.h>
int main()
{
int i;
char *str[100] = {0};
str[0] = "yang";
str[1] = "wang";
str[2] = "zhangsan";
str[3] = "aobama";
for (i = 0; i < sizeof(str) / sizeof(str[0]); ++i)
printf("%s\n", str[i]);
return 0;
}
原文:https://www.cnblogs.com/programmer-home/p/12925660.html