读书共享 Primer Plus C-part 7
Posted 刘传武
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读书共享 Primer Plus C-part 7相关的知识,希望对你有一定的参考价值。
第十章 数组和指针
1.关于二维数组跟指针
#include<stdio.h> int main() { int arrs [3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int i = 0; for(i=0;i< 10 ;i++) { printf("%d \\n",**arrs+i); } }
上述代码:可以说明二维数组的指针的排序以及使用
按行打
#include<stdio.h> int main() { int arrs [3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int i = 0; for(i=0;i< 3 ;i++) { printf("%d \\n",*(arrs[1]+i)); } }
按 列打
#include<stdio.h> int main() { int arrs [3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int i = 0; for(i=0;i< 3 ;i++) { printf("%d \\n",**arrs+i*4); } }
第十一章 字符串和字符串函数
- 关于字符串的2种表达方式
char heart[]="liuchaunwu"; char * head = "liuchuanwu";
head++; //OK
haart++; //NOK
1 #include<stdio.h> 2 3 4 int main() 5 { 6 7 char name[50] ={0}; 8 9 puts("what is your name"); 10 11 //gets(name); 12 char heart[] = "liu chuan wu"; 13 char * head = "liu chuan wu"; 14 15 while(*head!=\'\\0\') 16 { 17 putchar(*head++); 18 } 19 putchar(\'\\n\'); 20 21 while(*heart!=\'\\0\') 22 { 23 putchar(*heart++); 24 } 25 putchar(\'\\n\'); 26 27 28 29 }
二维数组的打印
1 #include<stdio.h> 2 int main() 3 { 4 char *str[100]={ 5 "what is your name? \\0", 6 "my name is liuchuanwu.\\0", 7 "do you love me?\\0", 8 "I am so sorry!\\0" 9 10 }; 11 int i =0; 12 for(;i<4;i++) 13 { 14 printf("%s \\n",(str[i])); 15 16 } 17 18 }
- 关于 gets fgets getchar
gets:单个入参,不检查是否足够的空间
fget:检查空间,针对I/O设计灵活性不足
getchar:针对单个字符进行读取。
- 关于strcat stncat
strcat 字符串追加
stncat 考虑字符串的空间问题。简单说安全与不安全的问题
- strcmp 与strncmp
srrcmp(str1,str2 ) str1=str2:0 str1>str2:1 str1<str2:-1
strncmp比较前几个字符
以上是关于读书共享 Primer Plus C-part 7的主要内容,如果未能解决你的问题,请参考以下文章