字符串数组/字符串指针的赋值

来源:互联网 发布:淘宝买家多少单一颗心 编辑:程序博客网 时间:2024/05/29 09:35
  • 字符串数组的赋值

            例如:
main()
{
char s[30];
strcpy(s, "Good News!"); /*给数组赋字符串*/
.
.
.
}
上面程序在编译时, 遇到char s[30]这条语句时, 编译程序会在内存的某处留
出连续30个字节的区域, 并将第一个字节的地址赋给s。当遇到strcpy( strcpy 为
Turbo C2.0的函数)时, 首先在目标文件的某处建立一个"Good News!/0" 的字符串。
其中/0表示字符串终止, 终止符是编译时自动加上的, 然后一个字符一个字符地复
制到s所指的内存区域。因此定义字符串数组时, 其元素个数至少应该比字符串的
长度多1。
注意:
1. 字符串数组不能用"="直接赋值, 即s="Good News!"是不合法的。所以应分
清字符串数组和字符串指针的不同赋值方法。
2. 对于长字符串, Turbo C2.0允许使用下述方法:
例如:
main()
{
char s[100];
strcpy(s, "The writer would like to thank you for"
"your interest in his book. He hopes you"
"can get some hel
ps from the book.");
.
.
.
}

  • 指针数组赋值
      


    例如:
    main()
    {
    char *f[2];
    int *a[2];
    f[0]="thank you"; /*给字符型数组指针变量赋值*/
    f[1]="Good Morning";
    *a[0]=1, *a[1]=-11; /*给整型数数组指针变量赋值*/
    .
    .
    .
    }