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
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号