iOS学习—C语言部分
学习笔记666
这个作者很懒,什么都没留下…
展开
-
变量的基本认识
//// main.c#include int main() { //1.申请一块空间,也就是定义一个变量 //格式:数据类型 变量名称 int number; //定义了一个名字叫做"number"的变量。会在内存中开辟一块存储空间给number,用于存储数据 //连续定义 int num1,num2; /原创 2015-12-13 14:04:17 · 319 阅读 · 0 评论 -
指向函数的指针—应用场景
//// main.c// C语言学习#include int sum(int v1, int v2){ return v1 + v2;}int minus(int v1, int v2){ return v1 - v2;}//让test函数接收一个指向函数的指针//以后我们只需要给test函数传递对应的指针,那么函数内部就可以调用不同的函数原创 2015-12-22 19:48:37 · 1089 阅读 · 0 评论 -
结构体的内存存储细节
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { /* 数组内存寻址是从大到小 存储数组元素从小到大 数组的地址就是数组首元素的地址 */ int nums[3] = {1,3,5}; //定义结构原创 2015-12-22 21:13:22 · 678 阅读 · 0 评论 -
结构体定义的3种方式
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { //1.先定义结构体类型,再定义结构体变量 struct Person { int age; int heigth; }; struct Person p1;原创 2015-12-22 21:38:39 · 751 阅读 · 0 评论 -
指向结构体的指针
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { struct Person { char *name; int age; int heigth; }; struct Person sp =原创 2015-12-22 22:05:03 · 424 阅读 · 0 评论 -
结构体数组
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { //要求定义变量保存公司中所有部分的绩效 struct Bumen { char *name; int count; double kpi; };原创 2015-12-22 22:26:21 · 539 阅读 · 0 评论 -
结构体和函数
//// main.c// C语言学习#include void change(int value){ value = 99;}//定义一个结构体类型struct Person{ int age; char *name;};void change2(struct Person value){ value.age = 99;}原创 2015-12-23 20:07:31 · 465 阅读 · 0 评论 -
枚举的基本概念
//// main.c// C语言学习#include int main(int argc, const char * argv[]) {// int sex = 0; //女// int sex = 1; //男 //枚举就是专门用于表示几种固定类型的取值 //枚举的本质就是基本数据类型,整型 //枚举和结构体一样,要想原创 2015-12-23 20:49:13 · 642 阅读 · 0 评论 -
结构体的基本概念
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { /* 数组:用于保存一组相同类型的数据 结构体:可保存不同类型的数据 定义结构体类型的格式: struct 结构体类型名称 { 属性;原创 2015-12-22 20:17:23 · 675 阅读 · 0 评论 -
带参数的宏定义 #define
//// main.c// C语言学习#include //求和函数int sum(int v1, int v2){ return v1 + v2;}//宏定义/* #define 代表要定义一个宏 SUM 宏的名称 (v1,v2) 参数,不要写数据类型 v1+v2 用于替换的内容 宏定义并不会做任何运算,无论是有参数还是无参数,仅仅是原创 2015-12-25 20:02:23 · 15262 阅读 · 0 评论 -
const关键字
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { /* const对基本数据类型的作用,可以让基本数据类型的变量 变为 常量 */ const int num = 10; float const heigth = 10.0;原创 2015-12-27 12:47:54 · 405 阅读 · 0 评论 -
条件编译基本概念
//// main.c// C语言学习#include #define SCORE 100int main(int argc, const char * argv[]) { int score = 100; /* 预处理指令什么时候执行?编译之前 变量什么时候定义?执行了才定义 注意点:条件编译不能用来判断变量,因为不在原创 2015-12-27 10:44:24 · 525 阅读 · 0 评论 -
条件编译的其他用法
//// main.c// C语言学习#include #define SCORE 100#define COUNT 50int main(int argc, const char * argv[]) { #ifdef SCORE //判断是否定义了后面的宏 printf("score\n");#else COUNT printf("count原创 2015-12-27 10:57:21 · 580 阅读 · 0 评论 -
typedef给数据类型起别名
//// main.c// C语言学习#include /* 什么是 typedef?它有什么作用? typedef 可以给一个 已知的数据类型起别名 */typedef int myInt;typedef myInt myInteger;/* 注意: 1.typedef不仅能给系统原有的数据类型起别名,也可以给一个自定义的数据类型起别名 2.利用typede原创 2015-12-27 12:09:25 · 2261 阅读 · 0 评论 -
指向函数的指针—基本概念
//// main.c// C语言学习#include void test(){ printf("test函数执行了\n");}/* 函数也会占用一块存储空间 所以函数也有自己的地址 函数的地址保存在函数中 函数名就是函数的地址(数组名就是数组的地址) */int main(int argc, const char * argv[]) {原创 2015-12-21 22:02:44 · 424 阅读 · 0 评论 -
指针变量的作用
//// main.c// C语言学习#include //当数组作为函数参数的时候 可以用 指针 来接收void change(int *p){ p[0] = 998;}char *getName(){ char *name = "ykd"; //开辟了8个字节的内存空间,放在常量区 return name;}char *getName原创 2015-12-21 21:35:48 · 1824 阅读 · 0 评论 -
常量-基本概念
//// main.c#include int main() { //整型常量 10; //实型常量(小数 ) //单精度float,双精度double //注意:默认情况下编写的小数的双精度的实型常量 10.1; //double 88.88; //double 5.2f; //float原创 2015-12-13 12:32:18 · 352 阅读 · 0 评论 -
sizeof 运算符
//// main.c#include int main() { //sizeof可以用来计算一个变量或一个常量、一种数据类型所占的内存字节数 //注意:sizeof是一个运算符,不是一个函数 int number = sizeof(10); printf("number=%i\n",number); //number=4原创 2015-12-14 22:04:49 · 463 阅读 · 0 评论 -
main函数
//// main.c#include int main(int argc, const char * argv[]) { //mian是函数的名称,是系统规定的名字,系统启动程序就会调用名字叫做main的函数 //main函数只能由系统调用,不能手动调用 //argc:系统传递进来的参数个数,默认是1 //argv:系统传递进来的参原创 2015-12-15 22:23:01 · 408 阅读 · 0 评论 -
数组的遍历
#include int main(int argc, const char * argv[]) { int scores[6] = {1,23,44,66,71,88,99}; //遍历多少次由数组决定,也就是说遍历次数应该有数组计算得出 //动态计算数组的元素个数 int length = sizeof(scores) / sizeof(s原创 2015-12-18 20:37:31 · 298 阅读 · 0 评论 -
数组内存存储细节
//// main.c#include int main(int argc, const char * argv[]) { //变量的内存寻址是从大到小,所以存储数据时是从高字节开始存储 //数组的存储和变量不同,数组存储元素,是从低字节开始 char charValues[4] = {'a','b','c','d'}; printf(原创 2015-12-18 21:27:22 · 437 阅读 · 0 评论 -
数组的注意点
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { char nums[2] = {1,5}; char values[3] = {7,8,9}; //索引为:0、1、2 //注意点:在使用数组的时候,一定不要访问不属于字节的存储空间,这样会导原创 2015-12-18 21:38:35 · 529 阅读 · 0 评论 -
数组作为函数的参数传递
//// main.c// C语言学习#include //基本数据类型作为函数的参数是值传递void change(int value){ value = 55;}//注意:数组名作为函数的参数传递,是传递的数组的地址//因为数组名就是数组的地址 &number = &number[0] = number//如果数组作为函数的形参,元素的个数可以省略 va原创 2015-12-18 22:23:36 · 427 阅读 · 0 评论 -
数组作为函数参数的注意点2
//// main.c// C语言学习#include //声明一个函数void printArray(int values[5]);int main(int argc, const char * argv[]) { //定义一个数组 int nums[5] = {1,3,5,7,9}; //把数组传递给函数 printAr原创 2015-12-19 11:34:11 · 542 阅读 · 0 评论 -
数组排序——冒泡排序
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { //已知一个无序数组,要在对数组排序(从小到大) int nums[5] = {99,12,88,34,5}; int length = sizeof(nums) / sizeof(nums[0]); //计算数组元素个数原创 2015-12-19 12:09:56 · 367 阅读 · 0 评论 -
字符串的基本概念
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { //用双引号引起来的就是字符串 printf("hello,world!\n"); //由于字符串是同一种数据类型的数据组成,并且是有序的。 //所以,可以用数组来保存字符串 char原创 2015-12-19 17:12:00 · 578 阅读 · 0 评论 -
指针的基本概念
//// main.c// C语言学习#include #include int main(int argc, const char * argv[]) { /* 如何定义指针变量? 数据类型 *变量名称 注意:指针变量是什么类型,就只能保持该类型变量的地址。例如,指针变量是int类型,那么就只能保存int类型变量的地址原创 2015-12-20 10:56:18 · 496 阅读 · 0 评论 -
指针和数组
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { //数组名就是数组的地址,数组的地址就是数组首元素的地址 int ages[3] = {1,3,5}; printf("ages = %p\n",ages); //ages = 0x7fff5fbff7ac原创 2015-12-20 18:34:01 · 378 阅读 · 0 评论 -
通过数组保存字符串和通过指针保存字符串的区别
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { //保存字符串 //通过数组 char str[] = "ykd"; str[0] = 'm'; printf("str = %s\n",str); //str = mkd原创 2015-12-20 18:57:38 · 935 阅读 · 0 评论 -
指针数组,也称字符串数组
//// main.c// C语言学习#include int main(int argc, const char * argv[]) { //指针数组,也称字符串数组 /* char str1[] = "abc"; char str2[] = "def"; char str3[] = "xyz"; ch原创 2015-12-20 19:13:54 · 458 阅读 · 0 评论 -
数组指针面试题
//// main.m#import int main(int argc, const char * argv[]) { @autoreleasepool { int numbers[4] = {10, 20, 30, 40}; int *p = (int *)(&numbers + 1);转载 2016-02-11 10:56:57 · 583 阅读 · 0 评论