![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
15pb_lvl1_c
dagger0x
这个作者很懒,什么都没留下…
展开
-
【LVL1_5_c】【思考题】【7】char *p1="hellow world"和char p2[]="hellow world"的区别
语句1:char *p1="hellow world";语句1:char p2[]="hellow world";(理解这个问题,首先要大致了解什么是栈,什么是全局变量)一、"hellow world"是一个常量,"hellow world"像全局变量一样保存在内存的静态数据区。语句1表示将"hellow world"这个常量的首地址,赋给指针变量P.二、语原创 2015-12-28 19:38:27 · 427 阅读 · 0 评论 -
【LVL1_5_c】【课后练习】【6】编写一个char_search(char str[],char c),比较字符串和字符。
题目:编写一个函数char_search(char str[],char c),如果字符串str中包含字符C则返回数值1,否则返回数值0;考察知识点:一维数组作为实参形参的使用方法。// ConsoleApplication2.cpp : 定义控制台应用程序的入口#include "stdafx.h"#include #include#includeint char_search(原创 2015-12-26 19:46:15 · 543 阅读 · 0 评论 -
【LVL1_5_c】【课后练习】【5】 写一个可以倒置数组元素的函数.
// ConsoleApplication2.cpp : 定义控制台应用程序的入口#include "stdafx.h"#include #include#define N 10void invert(int array[],int n);int _tmain(int argc, _TCHAR* argv[]){ int array[N] = { 1, 2, 3, 4,原创 2015-12-26 17:01:00 · 658 阅读 · 0 评论 -
【LVL1_5_c】【课后练习】【4】 定义一个函数,交换两个数的值。(使用指针)
// ConsoleApplication2.cpp : 定义控制台应用程序的入口#include "stdafx.h"#include #includevoid nswap(int* nNum1, int* nNum2);int _tmain(int argc, _TCHAR* argv[]){ //用户输入数字 int nNum1, nNum2; printf("请输入数原创 2015-12-26 16:34:39 · 1235 阅读 · 0 评论 -
【LVL1_5_c】【课后练习】【3】 求两个数组的对应元素之和。
// ConsoleApplication2.cpp : 定义控制台应用程序的入口#include "stdafx.h"#include #includeint _tmain(int argc, _TCHAR* argv[]){ int a[5] = {1,2,3,4,5}; int b[5] = {11,4,2,7,9}; int c[5] = { 0 }; int原创 2015-12-26 16:23:29 · 350 阅读 · 0 评论 -
【LVL1_6_c】【思考】X86 c语言结构体数据对齐的规则
数据对齐和CPU结构相关,其有利于CPU减少对内存的操作次数,提高存取效率。写程序的时候,不需要考虑对齐问题,编译器会替我们选择适合目标平台的对齐策略X86 CPU下C语言结构体的数据对齐规则:规则1数据成员对齐规则:结构(struct或联合union)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小转载 2015-12-29 21:30:35 · 713 阅读 · 0 评论 -
【LVL1_7_c】【思考题】【7】以a+ r+ w+模式打开的文件都是可读可写的,哪种模式更适合用来改变文件已有内容?
r+打开时,文件内部读写位置指针指向文件头,可以通过文件随机定位函数freek()来把文件内部读写位置指针移动到指定位置修改文件内容a+同上,指向文件尾w+打开时 文件已经存在 则会破坏文件内原有的所有内容,因此不适合用来修改已有文件内容.原创 2015-12-29 21:04:14 · 1172 阅读 · 0 评论 -
【LVL1_7_c】【思考题】【2】什么是溢出?什么是内存泄漏?
未编辑完成什么是溢出?什么是内存泄漏?申请分配了一块内从空间使用,程序运行完以后,这块空间不用了,却没有归还给系统,如此内存越用越少。申请→用完了不归还→越用越少。原创 2015-12-29 14:51:09 · 334 阅读 · 0 评论 -
【LVL1_7_c】【上机题】【1】使用动态数组,存放10个int类型数据,赋值,再遍历
// ConsoleApplication8.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include#includeint _tmain(int argc, _TCHAR* argv[]){ int len; int * arr; arr = (int *)malloc(sizeof(int)*10);原创 2015-12-29 16:16:07 · 550 阅读 · 0 评论 -
【LVL1_7_c】【思考题】【6】fprintf(),fscanf(),fgets(),以及fputs函数的作用.
fprintf(),按照要求的格式将数据写入文件调用形式:fprintf(fpFile, "%ld,%s" , num,name)作用是将变量num,name按照%ld %s的格式写入fp指向的文件的位置。fscanf(),按照格式要求从文件中读取数据调用形式:fscanf(文件型指针变量,格式控制,输入列表);fscanf(flFile,"%ld,%s原创 2015-12-29 15:30:46 · 386 阅读 · 0 评论 -
【LVL1_6_c】我对(一维数组名、二维数组名、&数组名 )的初步认识和理解。
int a[3] = {1, 2,3};1.重点一不管是几维数组,数组名a永远都代表第一个元素的地址(1)a&a[0]、a+0&a[0](2)数组名+1,就是第二个元素的地址(虽然数组首地址和元素首地址的值一样,但意义完全不同)———————————————————————————————2.重点二a[0][0]二维数组还是个一维数组,只不过它的元素是——一原创 2015-12-28 23:52:45 · 432 阅读 · 0 评论 -
【LVL1_6_c】 指针数组 数组指针 的区别(仅仅是初步学习理解)
一、指针数组:指针类型的数组(就像有指存整型的、存浮点型的、所以存指针的数组)其数组元素都是指针变量。(大白话——指针数组是 有一大堆指针变量的数组)比如int * a[4];【1】int*是类型名 .【2】a[4]是定义了一段连续的存储空间,存储的元素都是 int *类型。———————————————————————————————原创 2015-12-28 20:11:08 · 274 阅读 · 0 评论 -
【LVL1_5_c】【课后练习】【7】自己造一个strlen()函数,求字符串的长度
// ConsoleApplication2.cpp : 定义控制台应用程序的入口#include "stdafx.h"#include #includeint MyStrlen(char ArrS[]);int _tmain(int argc, _TCHAR* argv[]){ //提示用户输入字符数组 char ArrS[100]="0"; printf("请输入字符串:原创 2015-12-26 20:26:31 · 512 阅读 · 0 评论