#include <stdio.h>
#include <stdlib.h>
typedef char* myString;
//#define MY_STRING
#ifdef MY_STRING
void print_arr(int *a, myString *str, char *ch) //容易理解
#else
void print_arr(int *a, char **str, char *speed) //接收指针的变量的地址
#endif
{
int i = 0;
for(i = 0; i < 4; i++)
{
printf("a[%d] = %d ", i, a[i]);
}
printf("\n");
for(i = 0; i < 4; i++)
{
printf("str[%d] = %s ", i, str[i]);
}
printf("\n");
for(i = 0; i < 4; i++)
{
printf("str[%d] = %s ", i, *(str + i));
}
printf("\n");
for(i = 0; i < 4; i++)
{
printf("ch[%d] = %c ", i, ch[i]);
}
printf("\n");
for(i = 0; i < 4; i++)
{
printf("ch[%d] = %c ", i, *(ch + i));
}
}
int main(void)
{
int a[4] = {0, 1, 2, 3};
#ifdef MY_STRING
myString str[] = {"apple", "orange", "banana", "grape"};
#else
char *str[] = {"apple", "orange", "banana", "grape"}; //字符指针数组
#endif
char ch[] = {'a', 'b', 'c', 'd'}; //字符数组
print_arr(a, str, ch);
return 0;
}
详细辨析:
字符指针与字符串 - 优快云博客