国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語(yǔ)言:指針(超深度講解)

這篇具有很好參考價(jià)值的文章主要介紹了C語(yǔ)言:指針(超深度講解)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

目錄

指針:

學(xué)習(xí)目標(biāo):

指針可以理解為:

字符指針:

? ? ? ? 定義:字符指針 char*。

字符指針的使用:

練習(xí):

指針數(shù)組:

? ? ? ? 概念:指針數(shù)組是一個(gè)存放指針的數(shù)組。

實(shí)現(xiàn)模擬二維數(shù)組:

?數(shù)組指針:

? ? ? ? 概念:能夠指向數(shù)組的指針。(可以理解為先與指針結(jié)合再與數(shù)組結(jié)合)

值得注意的是:

數(shù)組指針一般用于二維數(shù)組:數(shù)組的傳參:?

一維數(shù)組傳參:

二維數(shù)組的傳參:?

總結(jié):二維數(shù)組傳參,函數(shù)形參的設(shè)計(jì)只能省略第一個(gè)[ ]的數(shù)字因?yàn)閷?duì)一個(gè)二維數(shù)組,可以不知道有多少行,但是必須知道一行多少元素這樣才方便運(yùn)算。

指針的傳參:

一級(jí)指針傳參:

?二級(jí)指針的傳參:

函數(shù)指針:

? ? ? ? 概念:指向函數(shù)的指針。

閱讀兩段有趣的代碼:

類(lèi)型重定義:typedef?

函數(shù)指針數(shù)組:

????????定義:int (*parr1[10])();? 每個(gè)元素都是函數(shù)指針類(lèi)型。

????????用途:轉(zhuǎn)移表。

函數(shù)指針數(shù)組的使用:

指向函數(shù)指針數(shù)組的指針:

定義:

????????指向函數(shù)指針數(shù)組的指針是一個(gè) 指針 指針指向一個(gè) 數(shù)組 ,數(shù)組的元素都是 函數(shù)指針 ; (一般不直接寫(xiě),通過(guò)函數(shù)指針一步一步變化得到,可以減少失誤操作)

回調(diào)函數(shù):

概念:

使用回調(diào)函數(shù)模擬實(shí)現(xiàn)qsort()函數(shù):

qsort()運(yùn)用:

排序int類(lèi)型:

排序結(jié)構(gòu)體類(lèi)型:


學(xué)習(xí)目標(biāo):

1. 字符指針
2. 指針數(shù)組
3. 數(shù)組指針
4. 數(shù)組傳參和指針傳參
5. 函數(shù)指針
6. 函數(shù)指針數(shù)組
7. 指向函數(shù)指針數(shù)組的指針
8. 回調(diào)函數(shù)

指針:

指針可以理解為:

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

字符指針:

? ? ? ? 定義:字符指針 char*。

字符指針的使用:

//使用1
int main ()
{
char ch = 'w' ;
char * pc = & ch ;
* pc = 'w' ;
return 0 ;
}
//使用2
int main ()
{
const char* pstr = "hello bit." ;//把一個(gè)常量字符串的 首字符 h 的地址 存放到指針變量 pstr
printf ( "%s\n" , pstr );
return 0 ;
}

練習(xí):

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

指針數(shù)組:

? ? ? ? 概念:指針數(shù)組是一個(gè)存放指針的數(shù)組。

int* arr1 [ 10 ];? ? // 整形指針的數(shù)組
char * arr2 [ 4 ];?? // 一級(jí)字符指針的數(shù)組
char ** arr3 [ 5 ]; // 二級(jí)字符指針的數(shù)組

實(shí)現(xiàn)模擬二維數(shù)組:

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

?數(shù)組指針:

? ? ? ? 概念:能夠指向數(shù)組的指針。(可以理解為先與指針結(jié)合再與數(shù)組結(jié)合)

??????int (*p)[10];
// 解釋?zhuān)?/span> p先和*結(jié)合,說(shuō)明p是一個(gè)指針變量 ,然后指著指向的是一個(gè)大小為 10 個(gè)整型的數(shù)組。所以 p 是一個(gè)指針,指 向一個(gè)數(shù)組,叫數(shù)組指針。
// 這里要注意: [ ] 的優(yōu)先級(jí)要高于 * 號(hào)的,所以必須加上()來(lái)保證 p 先和 * 結(jié)合。

值得注意的是:

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

數(shù)組名的理解:數(shù)組名是數(shù)組首元素的地址
有2個(gè)例外:
1. sizeof(數(shù)組名),這里的數(shù)組名不是數(shù)組首元素的地址,數(shù)組名表示整個(gè)數(shù)組,sizeof(數(shù)組名)計(jì)算的是整個(gè)數(shù)組的大小,單位是字節(jié)
2. &數(shù)組名,這里的數(shù)組名表示整個(gè)數(shù)組, &數(shù)組名取出的是整個(gè)數(shù)組的地址
?除此之外,所有的地方的數(shù)組名都是數(shù)組首元素的地址

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

數(shù)組指針一般用于二維數(shù)組:

數(shù)組的傳參:?

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

????????二維數(shù)組的每一行可以理解為二維數(shù)組的一個(gè)元素,每一行又是一個(gè)一維數(shù)組,所以二維數(shù)組其實(shí)是一維數(shù)組的數(shù)組。

????????二維數(shù)組的數(shù)組名,也是數(shù)組名,數(shù)組名就是數(shù)組首元素的地址。

arr----首元素的地址;

arr----第一行的地址;
arr----一維數(shù)組的地址即數(shù)組的地址。

一維數(shù)組傳參:

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

二維數(shù)組的傳參:?

?C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

總結(jié):二維數(shù)組傳參,函數(shù)形參的設(shè)計(jì)只能省略第一個(gè)[ ]的數(shù)字因?yàn)閷?duì)一個(gè)二維數(shù)組,可以不知道有多少行,但是必須知道一行多少元素這樣才方便運(yùn)算。

指針的傳參:

一級(jí)指針傳參:

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

?二級(jí)指針的傳參:

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

函數(shù)指針:

? ? ? ? 概念:指向函數(shù)的指針。

?? ?int (*pf)(int, int) = &Add;

????//pf是函數(shù)指針變量
?? ?//int (*)(int, int) 是函數(shù)指針類(lèi)型

void test(char* pc, int arr[10])
{

}
int main()
{
	void (*pf)(char *, int [10]) = test;

	return 0;
}

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

由上圖可知:??

????????函數(shù)名是函數(shù)的地址;

????????&函數(shù)名也是函數(shù)的地址。

閱讀兩段有趣的代碼:

//代碼1
( * ( void ( * )()) 0 )();
解析:調(diào)用0地址處的函數(shù)
?????????? ?1. 將0強(qiáng)制類(lèi)型轉(zhuǎn)換為void (*)() ?類(lèi)型的函數(shù)指針
?????????? ?2. 調(diào)用0地址處的這個(gè)函數(shù)
//代碼2
void ( * signal ( int , void ( * )( int )))( int );
解析:
? ? 1.signal 是一個(gè)函數(shù)聲明
? ? 2.signal 函數(shù)有2個(gè)參數(shù),第一個(gè)參數(shù)的類(lèi)型是int,第二個(gè)參數(shù)的類(lèi)型是 void(*)(int) 函數(shù)指針類(lèi)型
? ? 3.該函數(shù)指針指向的函數(shù)有一個(gè)int類(lèi)型的參數(shù),返回類(lèi)型是void
? ? 4.signal 函數(shù)的返回類(lèi)型也是void(*)(int) 函數(shù)指針類(lèi)型,該函數(shù)指針指向的函數(shù)有一個(gè)int類(lèi)型的參數(shù),返回類(lèi)型是void

類(lèi)型重定義:typedef?

//類(lèi)型重定義1
typedef unsigned int uint;
typedef int* ptr_t;

int main()
{
	uint u1;
	ptr_t p1;
	int* p2;
	return 0;
}

//類(lèi)型重定義2
typedef int(*parr_t)[10];
typedef int (*pf_t)(int, int) ;

int main()
{
	typedef void(*pf_t)(int);
	pf_t signal(int, pf_t);
    //上方兩句將下方的語(yǔ)句簡(jiǎn)化,效果相同
	void (* signal(int, void(*)(int) ) )(int);

	return 0;
}

函數(shù)指針數(shù)組:

????????定義:int (*parr1[10])();? 每個(gè)元素都是函數(shù)指針類(lèi)型。

????????用途:轉(zhuǎn)移表。

函數(shù)指針數(shù)組的使用:

#include <stdio.h>
#include <string.h>


int Add(int x, int y)
{
	return x + y;
}

int Sub(int x, int y)
{
	return x - y;
}

int Mul(int x, int y)
{
	return x * y;
}

int Div(int x, int y)
{
	return x / y;
}

void menu()
{
	printf("***************************\n");
	printf("*****  1.add  2.sub  ******\n");
	printf("*****  3.mul  4.div  ******\n");
	printf("*****  0.exit        ******\n");
	printf("***************************\n");
}
//實(shí)現(xiàn)int類(lèi)型的加減乘除
int main()
{
	int input = 0;
	int x = 0;
	int y = 0;
	int ret = 0;
	//函數(shù)指針數(shù)組的使用 - 轉(zhuǎn)移表
	int (* pfArr[5])(int, int) = {NULL, Add, Sub, Mul, Div};
	                               0     1    2    3    4
	do
	{
		menu();
		printf("請(qǐng)選擇:>");
		scanf("%d", &input);
		if (input >= 1 && input <= 4)
		{
			printf("請(qǐng)輸入兩個(gè)操作數(shù):");
			scanf("%d %d", &x, &y);
			ret = pfArr[input](x, y);
			printf("ret = %d\n", ret);
		}
		else if(input == 0)
		{
			printf("退出計(jì)算器\n");
		}
		else
		{
			printf("選擇錯(cuò)誤,重新選擇\n");
		}
	} while (input);

	return 0;
}

指向函數(shù)指針數(shù)組的指針:

定義:

????????指向函數(shù)指針數(shù)組的指針是一個(gè) 指針 指針指向一個(gè) 數(shù)組 ,數(shù)組的元素都是 函數(shù)指針 ; (一般不直接寫(xiě),通過(guò)函數(shù)指針一步一步變化得到,可以減少失誤操作)

void (*pf)(const char*) = test;? ?//pf是函數(shù)指針變量
void (*pfArr[10])(const char*);? //pfArr是存放函數(shù)指針的數(shù)組
void (* (*p) [10])(const char*) = &pfArr;//p指向函數(shù)指針數(shù)組的指針

回調(diào)函數(shù):

概念:

???????? 回調(diào)函數(shù)就是一個(gè)通過(guò)函數(shù)指針調(diào)用的函數(shù)。如果你把 函數(shù)的指針(地址)作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來(lái)調(diào)用其所指向的函數(shù) 時(shí),我們就說(shuō)這是回調(diào)函數(shù)?;卣{(diào)函數(shù)不是由該函數(shù)的實(shí)現(xiàn)方直接調(diào)用,而是在特定的事件或條件發(fā)生時(shí)由另外的一方調(diào)用的,用于對(duì)該事件或條件進(jìn)行響應(yīng)。

//回調(diào)函數(shù)的使用

void Calc(int (*pf)(int, int))
{
?? ?int x = 0;
?? ?int y = 0;
?? ?int ret = 0;
?? ?printf("請(qǐng)輸入兩個(gè)操作數(shù):");
?? ?scanf("%d %d", &x, &y);
?? ?ret = pf(x, y);
?? ?printf("ret = %d\n", ret);
}

使用回調(diào)函數(shù)模擬實(shí)現(xiàn)qsort()函數(shù):

C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端

base:指向要排序的數(shù)組的第一個(gè)對(duì)象的指針,轉(zhuǎn)換為 .void*。

num:數(shù)組中由指向的元素個(gè)數(shù)。是無(wú)符號(hào)整型。

size:數(shù)組中每個(gè)元素的大?。ㄒ宰止?jié)為單位),是無(wú)符號(hào)整型。

compar:指向比較兩個(gè)元素的函數(shù)的指針,重復(fù)調(diào)用此函數(shù)以比較兩個(gè)元素。

qsort()運(yùn)用:
#include <stdio.h>
//qosrt函數(shù)的使用者得實(shí)現(xiàn)一個(gè)比較函數(shù)
int int_cmp(const void * p1, const void * p2)
{
 return (*( int *)p1 - *(int *) p2);
}
int main()
{
 int arr[] = { 1, 3, 5, 7, 9, 2, 4, 6, 8, 0 };
 int i = 0;
 
 qsort(arr, sizeof(arr) / sizeof(arr[0]), sizeof (int), int_cmp);
 for (i = 0; i< sizeof(arr) / sizeof(arr[0]); i++)
 {
 printf( "%d ", arr[i]);
 }
 printf("\n");
 return 0;
}
排序int類(lèi)型:
#include <stdio.h>

//比較int類(lèi)型的比較函數(shù)
int my_compare(const void* q1, const void* q2)
{
	return (*(int*)q1 - *(int*)q2);
}
//交換每一個(gè)字節(jié)的元素
void Swap(char* b1, char* b2, int size)
{
	int i = 0;
	for (i = 0; i < size; i++)
	{
		char tmp = *b1;
		*b1 = *b2;
		*b2 = tmp;
		b1++;
		b2++;
	}
}
//模擬實(shí)現(xiàn)自己的qsort()函數(shù)
void my_qsort(void* base, int num, int size, int (*my_compare)(const void* q1, const void* q2))
{
	int i = 0;
	int j = 0;
	for (i = 0; i < num - 1; i++)
	{
		for (j = 0; j < num - 1 - i; j++)
		{
			//從小到大排序
			if (my_compare((char*)base+j*size,(char*)base+(j+1)*size) > 0)
			{
				Swap((char*)base + j*size, (char*)base + (j + 1)*size, size);
			}
		}
	}
}

int main()
{
	int arr[10] = { 2,4,6,7,8,3,1,0,9,5 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	my_qsort(arr, sz, sizeof(arr[0]), my_compare);
	return 0;
}
排序結(jié)構(gòu)體類(lèi)型:
#include <string.h>
//創(chuàng)建學(xué)生結(jié)構(gòu)體
struct Stu
{
	char name[20];
	int age;
};
//比較int類(lèi)型的比較函數(shù)
int my_compare_age(const void* q1, const void* q2)
{
	return ((struct Stu*)q1)->age - ((struct Stu*)q2)->age;
}
//比較int類(lèi)型的比較函數(shù)
int my_compare_name(const void* q1, const void* q2)
{
	return strcmp( ( (struct Stu*)q1 )->name ,( (struct Stu*)q2 )->name);
}
//交換每一個(gè)字節(jié)的元素
void Swap(char* b1, char* b2, int size)
{
	int i = 0;
	for (i = 0; i < size; i++)
	{
		char tmp = *b1;
		*b1 = *b2;
		*b2 = tmp;
		b1++;
		b2++;
	}
}
//模擬實(shí)現(xiàn)自己的qsort()函數(shù)
void my_qsort(void* base, int num, int size, int (*my_compare)(const void* q1, const void* q2))
{
	int i = 0;
	int j = 0;
	//趟數(shù)
	for (i = 0; i < num - 1; i++)
	{
		//一趟內(nèi)部比較的對(duì)數(shù)
		for (j = 0; j < num - 1 - i; j++)
		{
			//從小到大排序
			if (my_compare((char*)base + j * size, (char*)base + (j + 1) * size) > 0)
			{
				//交換
				Swap((char*)base + j * size, (char*)base + (j + 1) * size, size);
			}
		}
	}
}

int main()
{
	struct Stu arr[] = { {"zhangsan",34},{"lisi",27},{"wanwu",20} };
	int sz = sizeof(arr) / sizeof(arr[0]);
	my_qsort(arr, sz, sizeof(arr[0]), my_compare_age);
	my_qsort(arr, sz, sizeof(arr[0]), my_compare_name);
	return 0;
}

以上就是個(gè)人學(xué)習(xí)指針的個(gè)人見(jiàn)解和學(xué)習(xí)的解析,歡迎各位大佬在評(píng)論區(qū)探討!

感謝大佬們的一鍵三連!?感謝大佬們的一鍵三連!?感謝大佬們的一鍵三連!

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??C語(yǔ)言:指針(超深度講解),C語(yǔ)言基礎(chǔ)整理,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,算法,c++,前端文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-668422.html

到了這里,關(guān)于C語(yǔ)言:指針(超深度講解)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C語(yǔ)言基礎(chǔ)之——指針(下)

    C語(yǔ)言基礎(chǔ)之——指針(下)

    前言:本篇文章將繼續(xù)講解有關(guān)指針的剩余基礎(chǔ)知識(shí)。 學(xué)無(wú)止境,一起加油叭!! 目錄 一.指針運(yùn)算 1.指針 +- 整數(shù) ?2.指針的關(guān)系運(yùn)算 ?3.指針 - 指針 二.指針與數(shù)組 三.二級(jí)指針 四.指針數(shù)組 總結(jié) 指針運(yùn)算包括以下三種: 指針 +- 整數(shù) 指針 - 指針 指針的關(guān)系運(yùn)算 我們嘗試用

    2024年02月11日
    瀏覽(26)
  • 【C語(yǔ)言基礎(chǔ)入門(mén)】二級(jí)指針、一維數(shù)組與指針、二維數(shù)組與指針

    【C語(yǔ)言基礎(chǔ)入門(mén)】二級(jí)指針、一維數(shù)組與指針、二維數(shù)組與指針

    在學(xué)習(xí)C語(yǔ)言的過(guò)程中,理解指針的概念是非常重要的。指針提供了一種直接訪(fǎng)問(wèn)內(nèi)存地址的方式,使得我們可以更加靈活地管理數(shù)據(jù)和內(nèi)存。在本文中,我們將介紹C語(yǔ)言中的二級(jí)指針、一維數(shù)組與指針,并通過(guò)通俗易懂的語(yǔ)言和示例代碼來(lái)幫助讀者理解這些概念。 二級(jí)指針

    2024年02月05日
    瀏覽(29)
  • 【C語(yǔ)言基礎(chǔ)】:深入理解指針(三)

    【C語(yǔ)言基礎(chǔ)】:深入理解指針(三)

    指針系列回顧 : 【C語(yǔ)言基礎(chǔ)】:深入理解指針(一) 【C語(yǔ)言基礎(chǔ)】:深入理解指針(二) 一、冒泡排序 冒泡排序的核心思想就是:兩兩相鄰的元素進(jìn)行比較。 可以看到,這段代碼對(duì)arr數(shù)組進(jìn)行了排序,但這個(gè)代碼還有一些缺陷,那就是無(wú)論數(shù)組內(nèi)部的元素是否有序,他都會(huì)循

    2024年03月10日
    瀏覽(26)
  • C語(yǔ)言-基礎(chǔ)語(yǔ)法學(xué)習(xí)-3 二級(jí)指針

    C語(yǔ)言-基礎(chǔ)語(yǔ)法學(xué)習(xí)-3 二級(jí)指針

    當(dāng)涉及到多級(jí)指針時(shí),C語(yǔ)言的靈活性和強(qiáng)大的指針功能可以得到充分的發(fā)揮。二級(jí)指針是指指向指針的指針,也被稱(chēng)為指向指針的引用。 使用二級(jí)指針可以實(shí)現(xiàn)以下功能: 動(dòng)態(tài)內(nèi)存分配:通過(guò)二級(jí)指針可以動(dòng)態(tài)地分配內(nèi)存塊,并將其地址傳遞給其他函數(shù)或模塊進(jìn)行操作。這

    2024年02月12日
    瀏覽(25)
  • C語(yǔ)言 指針聲明和定義 - C語(yǔ)言零基礎(chǔ)入門(mén)教程

    目錄 [一.指針簡(jiǎn)介] [1.內(nèi)存] [2.內(nèi)存地址] [3.指針聲明] [二.指針類(lèi)型] [三.聲明并初始化一個(gè)指針] [1.聲明指針并直接初始化 – 推薦] [2.先聲明指針在初始化 – 不推薦] [四.查看指針地址和指針的值] [五.NULL 指針 – 空指針] [六.重點(diǎn)總結(jié)] [七.猜你喜歡] 零基礎(chǔ) C/C++ 學(xué)習(xí)路線(xiàn)推薦

    2024年03月22日
    瀏覽(45)
  • 【05】STM32·HAL庫(kù)開(kāi)發(fā)-C語(yǔ)言基礎(chǔ)知識(shí) | stdint.h介紹 | 位操作 | 宏定義的使用 | 條件編譯 | extern聲明 | typdef使用 | 結(jié)構(gòu)體、指針、代碼規(guī)范介紹。

    【05】STM32·HAL庫(kù)開(kāi)發(fā)-C語(yǔ)言基礎(chǔ)知識(shí) | stdint.h介紹 | 位操作 | 宏定義的使用 | 條件編譯 | extern聲明 | typdef使用 | 結(jié)構(gòu)體、指針、代碼規(guī)范介紹。

    ??stdint.h 是從 C99 中引進(jìn)的一個(gè)標(biāo)準(zhǔn) C 庫(kù)的文件,可以在MDK5的安裝路徑:D:MDK5.34ARMARMCCinclude中找到。 ??stdint.h 定義了很多類(lèi)型別名,將有符號(hào)的char類(lèi)型定義別名為int8_t等,使用此套別名有易于移植。 ??在MDK中需要配置才能支持使用S99標(biāo)準(zhǔn), 默認(rèn)是勾選的 。 ??只

    2024年02月08日
    瀏覽(18)
  • C語(yǔ)言基礎(chǔ)習(xí)題講解

    C語(yǔ)言基礎(chǔ)習(xí)題講解

    1. 設(shè)計(jì)一個(gè)程序, 輸入三位數(shù)a, 分別輸出個(gè),十,百位. (0a1000) 樣例輸入: 251 樣例輸出: 2 5 1 2. 設(shè)計(jì)一個(gè)程序, 輸入整數(shù)l, 求邊長(zhǎng)為l的正方形面積, 比直徑為l的圓形面積大多少. (0l1000, PI取3.14, 輸出結(jié)果保留兩位小數(shù)) 樣例輸入: 3 樣例輸出: 1.93 1. 設(shè)計(jì)一個(gè)程序, 輸入a,b,c三個(gè)整數(shù),

    2024年02月07日
    瀏覽(16)
  • 逍遙自在學(xué)C語(yǔ)言 | 指針的基礎(chǔ)用法

    逍遙自在學(xué)C語(yǔ)言 | 指針的基礎(chǔ)用法

    在C語(yǔ)言中,指針是一項(xiàng)重要的概念,它允許我們直接訪(fǎng)問(wèn)和操作內(nèi)存地址。 可以說(shuō),指針是C語(yǔ)言一大優(yōu)勢(shì)。用得好,你寫(xiě)程序如同趙子龍百萬(wàn)軍中取上將首級(jí);用得不好,則各種問(wèn)題層出不窮,有種雙拳難敵四手的感覺(jué)。 本文將介紹指針的基礎(chǔ)知識(shí),包括指針的定義、初始

    2024年02月09日
    瀏覽(32)
  • 【C語(yǔ)言初階】帶你輕松掌握指針基礎(chǔ)知識(shí)完結(jié)篇——野指針,指針運(yùn)算,指針和數(shù)組,二級(jí)指針

    【C語(yǔ)言初階】帶你輕松掌握指針基礎(chǔ)知識(shí)完結(jié)篇——野指針,指針運(yùn)算,指針和數(shù)組,二級(jí)指針

    君兮_的個(gè)人主頁(yè) 勤時(shí)當(dāng)勉勵(lì) 歲月不待人 C/C++ 游戲開(kāi)發(fā) Hello,這里是君兮_,今天繼續(xù)給大家更新0基礎(chǔ)入門(mén)C語(yǔ)言的內(nèi)容,我們這次主要更新的依然是初階指針的基礎(chǔ)知識(shí) 廢話(huà)不多說(shuō)咱們直接開(kāi)始吧??! 概念: 野指針就是指針指向的位置是不可知的(隨機(jī)的、不正確的、沒(méi)有

    2024年02月16日
    瀏覽(22)
  • 初學(xué)Verilog語(yǔ)言基礎(chǔ)筆記整理(實(shí)例點(diǎn)燈代碼分析)持續(xù)更新~

    初學(xué)Verilog語(yǔ)言基礎(chǔ)筆記整理(實(shí)例點(diǎn)燈代碼分析)持續(xù)更新~

    實(shí)例:點(diǎn)燈學(xué)習(xí) 剛接觸 Verilog ,作為一個(gè)硬件小白,只能?chē)L試著去理解,文章未完…持續(xù)更新。 參考博客文章: Verilog語(yǔ)言入門(mén)學(xué)習(xí)(1) Verilog語(yǔ)法 【 Verilog 】一文帶你了解 Verilog 基礎(chǔ)語(yǔ)法 - 子墨祭的文章 - 知乎 關(guān)于Verilog中的幾種賦值語(yǔ)句 這里抄點(diǎn),那里扣點(diǎn),整理了一

    2024年02月07日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包