关闭

C和指针之数组和函数部分总结

函数和数组2个章节部分学习总结 1、之前对函数参数传递指针没有理解到位,以为像传其它的数据一样,只是数据的一份拷贝,然后不修改原始的数据,函数参数如果是传递的指针,传递给函数是指针的一份拷贝,可以通过指针间接访问数据,从而得到修改原始数据,反正不能把指针变量本身传递给一个函数, 如果把这个函数里面的进行在堆区分配内存空间,只不过是指针的拷贝的这个指针分配了内存,如果不返回,编译器会自动...
阅读(36) 评论(0)

C和指针之auto和内存栈和register关键字

1、auto 在C代码中每个函数都有其生命周期(也称作用域),在函数生命周期中声明的变量通常叫做局部变量,也叫自动变量。例如: 复制代码代码如下: int chenyu(){ int a = 10; // auto int a = 10; return 0; }   整型变量a在fun函数内声明,其作用域为c...
阅读(20) 评论(0)

C和指针之数组编程练习8(8皇后问题)

1、问题   *在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击  *即任意两个皇后都不能处于同一行、同一列或同一斜线上,  *问有多少种摆法,并把所有合法的二维数组打印出来 2、代码实现 #include #include /** *在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击 *即任意两个皇后都不能处于同一行、同一列或同一斜线上,...
阅读(30) 评论(0)

C和指针之数组编程练习5 (矩阵相乘)

1、问题 5.如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的: 例如: 结果矩阵中14这个值是通过2×-2加上-6×-3得到的,编写一个函数,用于执行两个矩阵的乘法。函数的原型如下: void matrix_multiply(int *m1, int *m2, int *r, i...
阅读(61) 评论(1)

C和指针之编译出现warning: implicit declaration of function 'matrix_multiply' is invalid in C99问题

1、问题 在我的mac上编译一个c文件,出现下面错误 2、原因和解决办法 是因为我用vim的时候,把函数名少写了一个字符导致,把这个函数名改正就行了。...
阅读(28) 评论(0)

C和指针之数组编程练习3(判断矩阵是否为单位矩阵)

1、题目  *3.单位矩阵就是一个正方形矩阵,它除了主对角线元素值为1以外,其余元素的值均为0,例如:  *1 0 0  *0 1 0  *0 0 1  *就是一个3×3单位矩阵,编写一个名叫identity_matrix的函数,它接受一个10×10整型矩阵为参数  *成功返回1,失败返回1 2、代码实现 #include /* *3.单位矩阵就是一...
阅读(40) 评论(0)

C和指针之数组之编程练习2

1、题目  2.美国联邦政府使用下面这些规则计算1995年每个公民的个人收入所得税: 输入大于  不超过   你的税额为           超过这个数额的部分 $0         $23350 15%                     $0 23350 56550 3502.50+28%     23350 56550 117950 12798.50+31%    5...
阅读(35) 评论(0)

C和指针之判断参数在关键字字符串列表中是否匹配

1、题目  *判断参数是否与一个关键字列表任何单词匹配  *并返回匹配的索引值,如果没有找到返回-1 2、代码实现 #include #include #include /** *判断参数是否与一个关键字列表任何单词匹配 *并返回匹配的索引值,如果没有找到返回-1 **/ int lookup_keyword(const ...
阅读(1601) 评论(0)

C和指针之二维字符串数组用指针数组、数组指针、二级指针打印

1、问题 二位字符串数组用指针数组、数组指针、二级指针打印 2、测试代码 #include int main() { char value[4][5] = {"chen", "yu", "feng", "yy"}; char *p[5]; char (*p1)[5]; char **p2; //把二位数组的值赋给...
阅读(39) 评论(0)

C和指针之指针数组和指向数组的指针

1、指针数组 定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义 int *p[10]; 2、指向数组的指针 定义一个数组指针,该指针指向含10个元素的一维数组(数组中每个元素是int型) int (*p)[10]; 3、总结 int *p[n]; 中,运算符[ ]优先级高,先与p结合成为一个数组,再由int*说明这是...
阅读(41) 评论(0)

C和指针之多维数组一行存满后会轮到下一行

1、问题 比如二位数组名赋值给一个指针,指针在递增,超过这个行的最后一列后会得到怎么样结果。 2、代码举例 #include int main() { int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int *p = NULL; p = &a[1][1]; printf("first val...
阅读(44) 评论(0)

C和指针之字符串之实现strcpy函数

1、问题 实现strcpy函数 2、代码实现 #include void str_copy(char *des, const char *src) { if (src == NULL) return; while((*des++ = *src++) != '\0'); } int main() { const char *s...
阅读(30) 评论(0)

C和指针之数组名和&数组名和&首元素以及sizeof(数组名)和sizeof(数组名作为参数)区别

1、先看我的测试Demo #include #include int get_size(int *p) { int size = sizeof(p); return size; } int main() { int a[6] = {1, 2, 3, 4, 5, 6}; int b[] = {1, 2, 3, 4, 5, 6}; int c[10] ...
阅读(33) 评论(0)

C和指针之函数递归实现把amount表示的值转换为单词形式written_amount(unsigned int amount,char *buffer)

1、题目  编写函数  void written_amount(unsigned int amount,char *buffer);  它把amount表示的值转换为单词形式,并储存于buffer中。这个函数可以在一个打印支票的程序中使用。例如,如果amount的值是16312,那么buffer中存储的字符串应该是  SIXTEEN THOUSAND THREE HUNDRED T...
阅读(44) 评论(0)

C和指针之函数之实现简单的printf函数(支持%d, %f, %c, %s)

1、问题  *简化printf函数,能够处理%d, %f, %c, %s格式码,假设已经存在  *print_integer和print_float函数,另外2个类型用putchar来打印 2、代码实现 #include #include /** * 简化printf函数,能够处理%d, %f, %c, %s格式码,假设已经存在 * print_i...
阅读(38) 评论(0)

C和指针之实现可变参数函数编译出现expanded from macro 'va_arg' #define va_arg(ap, type) 解决办法

1、问题 编译可变参数函数里面有va_arg函数的时候提示这个错误 expanded from macro 'va_arg' #define va_arg(ap, type) 2、原因 我没有考虑“默认参数提升”问题 如果一个函数的形参类型未知, 例如使用了Old Style C风格的函数声明,或者函数的参数列表中有 ...,那么调用函数时要对相应的实参做Intege...
阅读(39) 评论(0)

C和指针之函数之求参数列表中的最大值

1、问题  *编写一个叫max_list函数,它用于检查任意数目的整形参数  *并返回他们中的最大值,参数列表必须以一个负数结尾,提  *示列表的结束 2、代码实现 #include #include /** *编写一个叫max_list函数,它用于检查任意数目的整形参数 *并返回他们中的最大值,参数列表必须以一个负数结尾,提 ...
阅读(37) 评论(0)

C和指针之函数之把数字字符串转为整数并且返回这个数字(ascii_to_integer)

1、问题  *字符串必须包含一个或多个数字,函数应该把这些数字字符转换为整数并且  *返回这个值,如果脂肪层参数包含了任何非数字字符,函数就要返回0,不考  *虑溢出情况 2、代码实现 #include /** *字符串必须包含一个或多个数字,函数应该把这些数字字符转换为整数并且 *返回这个值,如果脂肪层参数包含了任何非数字字符,函数就要返回0,不考 *...
阅读(41) 评论(0)

C和指针之函数之求最大公约数

1、求最大公约数 求公约数的规则如下 /** * M % N = 0 : N *gcd(M, N) = * M % N = R, R > 0 : gcd(N, R) */ 2、代码实现 #include /** * M % N = 0 : N *gcd(M, N) = * ...
阅读(33) 评论(0)

C和指针之函数之递归实现厄密多项式

1、厄密多项式介绍 /*Hermite Polynomials(厄密多项式)是这样定义的 1 ,n = 2*/ 2、代码实现...
阅读(35) 评论(0)
999条 共50页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:879149次
    • 积分:15743
    • 等级:
    • 排名:第755名
    • 原创:672篇
    • 转载:316篇
    • 译文:11篇
    • 评论:432条
    联系方式

    我的github




    QQ:2657607916

    QQ讨论群:346618607

    微信:chenyu_920310

    邮箱:2657607916@qq.com

    最新评论