C 笔记
1.linux 下的C 代码的主函数都是 int main(int argc char *argv[]) ,其表示的意义和用法是什么?
argc是命令行总的参数个数
argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数,
1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 5 int main(int argc, char* argv[]) 6 { 7 int i; 8 for (i=0;i<argc;i++) 9 cout<<"Argv [ " << i << " ] " << " is " << argv[i]<<endl;//输入数组到argv[i]中 10 system("pause"); 11 return 0; 12 }
2.const int a ; 和 int const a ;的区别
定义一个变量:
类型描述符 + 变量名
类型描述符包括类型修饰符和数据类型。
类型修饰符有:short long unsigned signed static auto extern register
数据类型有:int char float
(1)类型描述符中如果有多个关键字,他们出现的位置不影响他对变量的限制。
static int short i;和 int static short i;完全一样
const int a 和 int const a 完全一样。
3.const int *a ; 和 int *const a ;int const* const a 的区别
int *a[] //因为[]的优先级高于*,因此是一个数组,每个成员类型为指针,指向int
int (*a)[10]//一个指针,指向类型为一个数组
指针的判断从右向左
const int*a ;//a是变量名,*表示他是一个指针(类型已经确定,指针类型),余下的是指向的数据的类型。
//因此,a是一个指向const int的指针,即指向的数据不可修改。(a是一个指针,指向的数据类型为const int)
//a可修改即a可以指向其他变量,但是a当前所指向的数据不能被修改。
int *const a;//*const 一起来修饰a,即const修饰 a为只读,*表示a是一个指针,因此这是一个只读的指针,指针指向的数据类型为int类型。
//a不可修改即a只能指向当前所指向的变量,但是指向的变量本身的值是可以修改的。
int const * const a;//*表示指针,因此指针不可修改,int const 是指针指向的类型,仍然是const。
// a只能指向该变量,切该变量的值也不可修改或变化。
4.计算机存储的数据,16进制形式到float 形式表示的转换方法
1 unsigned int hex ; 2 float fnum ; 3 hex = *(unsigned int*)&fnum ;//float to hex 4 5 unsigned int hex_dat ; 6 float f_dat ; 7 f_dat = *(float*)&hex_dat ;
本文来自博客园,作者:hematologist,转载请注明原文链接:https://www.cnblogs.com/littleMa/p/8647382.html
posted on 2018-03-25 22:21 hematologist 阅读(188) 评论(0) 编辑 收藏 举报