C语言(字符串 ,字符串数组,字符数组,对应指针)

在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示
第一种表示方式固定了每个字符串的最大大小。第二种没有字符串的大小限制。

 

 

两种数组初始化的写法形式:

1,多维数组可以通过在括号内为每行指定值来进行初始化。
int a[3][4] = {  
 {0, 1, 2, 3} ,   /*  初始化索引号为 0 的行 */
 {4, 5, 6, 7} ,   /*  初始化索引号为 1 的行 */
 {8, 9, 10, 11}   /*  初始化索引号为 2 的行 */
};

2,内部嵌套的括号是可选的,与上面是等同的:
int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};

 

一般数组表示方式:指针形式和非指针形式。

方式 1
形式参数是一个指针:
void myFunction(int *param)
{
}

方式 2
形式参数是一个已定义大小的数组:
void myFunction(int param[10])
{
}

方式 3
形式参数是一个未定义大小的数组:
void myFunction(int param[])
{
}

特别注意字符串和字符串数组

char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};
等价:
char site[] = "RUNOOB";

个人理解:

字符串本身是字符数组,那字符串数组就是字符数组的数组,
可以用二维数组表示,字符数组里面有个字符数组,
字符数组可以合并成字符串,那么就可以直接是字符串数组了。

在C语言当中,字符串数组可以使用: char a[] [10]或者 char *a[]表示。
第一种表示方式固定了每个字符串的最大大小。第二种没有字符串的大小限制。

特别注意字符数组和字符串数组的指针写法分别:char *a ,char *a[]

 

例子:

int main(int argc, char *argv[]){}

关于有参数的main方法:参数值由程序自动控制的

当输入参数运行程序时,

第一个参数argc是表示参数的个数,比实际参数多一个。

第二个参数是字符串数组,表示参数的数组,并且程序名称也是一个参数,这也为什么第一个参数的个数比实际参数多一个。

#include <stdio.h>

int main(int argc, char *argv[]){
 printf("%s\n",argv[0]);
 printf("%s\n",argv[1]);
 printf("%s\n",argv[2]);   
    return 0;
}

执行:
 ./a.out 1 22 333
输出:
./a.out
1
22

 

posted @ 2021-05-25 22:03  假程序猿  阅读(389)  评论(0)    收藏  举报