c语言 11-2

1、

#include <stdio.h>

int main(void)
{
    char s[][5] = {"LISP","C","Ada"};   
    char *p[] = {"PAUL","X","MAC"};
    
    int i;
    for(i = 0; i < 3; i++)
    {
        printf("s[%d] = %s
", i, s[i]);
    }
    
    puts("
=====================");
    
    for(i = 0; i < 3; i++)
    {
        printf("p[%d] = %s
", i, p[i]);
    }
    
    return 0;
}

(1)、利用数组实现的字符串的数组 和 利用指针实现的字符串的数组。

利用数组实现的字符串的数组的各构成元素会被初始化为:字符串字面中的字符和null字符

利用指针实现的字符串的数组的各构成元素会被初始化为:指向字符串字面量首个字符的指针。

2、

#include <stdio.h>

int main(void)
{
    char a[][5] = {"LISP", "C", "Ada"};
    char *p[] = {"PAUL", "X", "MAC"};
    
    int i;
    for(i = 0; i < sizeof(a)/sizeof(a[0]); i++)
    {
        printf("a[%d] = %s
", i, a[i]);
    }
    
    puts("
====================");
    for(i = 0; i < sizeof(p)/sizeof(p[0]); i++)
    {
        printf("p[%d] = %s
", i, p[i]);
    }
    return 0;
} 

原文地址:https://www.cnblogs.com/liujiaxin2018/p/14842298.html