C语言程序设计:现代方法4
2017-10-20 11:10
253 查看
11.指针
1.const int * pOne; //指向整形常量 的指针,它指向的值不能修改2.int * const pTwo; //指向整形的常量指针 ,它不能在指向别的变量,但指向(变量)的值可以修改。
指针并不一定总是地址
由于字存储可能大于实际存储变量的长度,那么就需要采用地址+偏移量的表示方法。在intel处理器中,可以采用near的16位偏移量,或far32位偏移量对,偏移量不是真正的地址,cpu需将它与特殊寄存器中段的值联合起来。
12.指针和数组
指针也可以比较大小,当两个指针指向同一数组时。在标准C中,即使数组a[size]不存在,但对他的取地址仍然合法。
/* 处理一行 */ int a[10][10]; int* p; for(p = a[0]; p < a[0] + COL; p++) *p = 0; /* 处理一列 */ int (*p1)[COL]; for(p1 = a; p < a + COL; p++) (*p)[i] = 0;
数值型形参和指针型形参是可以互换的,但是对于变量来说却完全不同,比如sizeof。
13.字符串
八进制的字符转义序列最到3个或读到非8进制的数。/* 字符串写不下了 */ //缺点是不能缩进了。 printf("asdadas. \ adasd\n"); //比较好 printf("asdadas." "adasd\n");
//骚操作 char digitToHex(int digit) { return "0123456789ABCDEF"[digit]; } #define STR_LEN 80 char a[STR_LEN + 1]; //编译一旦结束,c的长度就结束了,并不是可变的 char c[] = "adasd"; //输出可以用 puts(const char* ); gets(); scanf("%ns", ); //当然fgets会更安全些,scanf要格式化%ns,控制一下长度
相关文章推荐
- C语言程序设计现代方法---第六章:循环
- C语言程序设计现代方法P198
- <setjmp.h>非局部跳转(来自C语言程序设计--现代方法第二版)
- C语言程序设计现代方法 第九章练习题P214
- c语言程序设计:现代方法-
- C语言程序设计:现代方法2
- C语言程序设计:现代方法3
- 关于C语言程序设计:现代方法(第2版)的读后感
- C语言程序设计—现代方法之Chapter 3 格式化输入输出(一)
- C语言程序设计:现代方法
- C语言程序设计:现代方法 中文高清PDF版下载
- 开始读《C语言程序设计----现代方法》
- C语言程序设计:现代方法5
- C语言程序设计:现代方法
- C语言程序设计:现代方法6
- C语言程序现代设计方法---第11章:指针
- 《如何求解问题》-现代启发式方法
- 人工智能一种现代的方法 --第2章 智能Agent
- C语言程序现代设计方法---第十章:程序结构
- 现代JVM内存管理方法及GC的实现和主要思路