运算符优先级:运算时存在结合性
注:单目运算符是自右至左结合
几种运算符的运算:
数组:有序数据的集合,其中每个元素都属于同一数据类型
字符类型数组(字符串):字符串是特殊的数组
char a[]={'d','u','e','2','w'}和char a[] =“due2w”等价
指针类型数组:
示例:#include <stdio.h>
int main(void)
{
int arr[3]={1,2,3};
int i,j;
/*int ch[]={7,3,5};*/
char *ch[3];/*定义了一个指针类型的数组,元素都是指针类型,该指针的数据访问方式是char*/
char ch1[]="abcde";/*分别定义字符数组(字符串)*/
char ch2[]="asdfg";
char ch3[]="jklui";
ch[0]=ch1;/*每一个指针都指向了相应字符数组的首地址*/
ch[1]=ch2;
ch[2]=ch3;
for(i=0;i<3;i++)
printf("a[%d]=%d\n\n",i,arr[i]);
for(j=0;j<3;j++)
printf("a[%d]=%s\n\n",j,ch[j]);
return 0;
}
argc,argv 用命令行编译程序时有用。
主函数main中变量(int argc,char *argv[ ])的含义
有些编译器允许将main()的返回类型声明为void,这已不再是合法的C++
main(int argc, char *argv[ ], char **env)才是UNIX和Linux中的标准写法。
argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数
* argv[ ]: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数
argv[0] 指向程序运行的全路径名
argv[1] 指向在DOS命令行中执行程序名后的第一个字符串
argv[2] 指向执行程序名后的第二个字符串
...
argv[argc]为NULL。
**env:字符串数组。env[ ]的每一个元素都包含ENVVAR=value形式的字符
串。其中ENVVAR为环境变量,value 为ENVVAR的对应值。
argc, argv,env是在main( )函数之前被赋值的,编译器生成的可执行文件,main( )不是真正的入口点,而是一个标准的函数,这个函数名与具体的操作系统有关。程序示例如下:
#include <stdio.h>
int main(int argc,char *argv[])
{
int i;
printf("argc=%d\n",argc);
for(i=0;i<argc;i++)
{
printf("argv[%d]=%s\n",i,argv[i]);
}
return 0;
}