const void *a
这是定义了一个指针a,a可以指向任意类型的值,但它指向的值必须是常量。
在这种情况下,我们不能修改被指向的对象,但可以使指针指向其他对象。
例如:
const void *a;*a=0x123;//是编译通不过的,因为*a中放的是个const值。const值是不能被改变的。
const int m=1; const int n=2;
a=&m; a=&n;//编译可以通过。
void* const a
这是定义了一个const指针a,a可以指向任意类型的值,但a是指向某个对象的常量指针。
我们不能修改指针中存储的地址,但可以修改指针指向的对象。
例如:
void* const a;这个定义:*a=0x123;是没问题的,
但是a=(void*)&b;是不行的,因为a是const变量。
如:
int m=1; nt n=2;
a=&m; a=&n;//编译不成功。
可以这么说,const void *a;中const修饰的是*a。在void* const a中,const 修饰的是a。
原文:
http://blog.csdn.net/yinjiabin/article/details/6731352
分享到:
相关推荐
- `int const *a const;`:声明了一个指向整型常量的常量指针,这意味着`a`和它所指向的整型数都不能被修改。 2. **指针与常量的结合**: - `const char* pCh;`:`pCh`是一个指向字符串常量的指针,它可以改变...
void func(const int *a) { // a 是一个指向常量的指针 } ``` 这里,func 函数的参数 a 是一个指向常量的指针, garanty 不会被修改。 const 关键字在 C++ 中非常重要,它可以用来修饰变量、指针、函数参数等,使...
水仙花c语言#include #include void main() /*主函数*/ { int num, a,b,c; /* 定义a,b,c为整形函数 */ for(a=1;a;a++) /*a是百位上数字,范围是1~9*/
int cmp ( const void *a , const void *b ){ return *(char *)a - *(char *)b; } qsort(word,100,sizeof(word[0]),cmp); 3. 对浮点数数组排序 double in[100]; int cmp( const void *a , const void *b ){ ...
ssize_t send(int, const void *, size_t, int) __DARWIN_ALIAS_C(send); // void * 万能指针 // 读取数据 ssize_t recv(int, void *, size_t, int) __DARWIN_ALIAS_C(recv); // 关闭连接 int close(int);
- **修饰常指针**:`const` 可以修饰指针本身或指针所指向的对象,如 `const int *A;` 或 `int *const A;` - **修饰常引用**:`const` 修饰引用,如 `const double &v;` - **修饰函数参数**:如 `void Fun(const ...
比较函数的原型是 `int compar(const void *a, const void *b)`,其中: * `a` 和 `b` 是要比较的两个元素 * 返回值是整数,表示两个元素的大小关系 如果返回值小于 0,则认为 `a` 小于 `b`;如果返回值等于 0,则...
能够按照格式化输出字符串数据,长度不受限制,亲测十几兆都正常。 #include using namespace std;
int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num, 100, sizeof(num[0]), cmp); ``` 2. **对`char`类型数组排序**: 对字符数组排序与整型数组类似,只是比较函数中...
long __stdcall RFCFileWrite(void* AFile, const void* ABuffer, long ASize); // 文件定位/清除文件缓存/设置文件末尾 long __stdcall RFCFileSeek(void* AFile, long* AOffset, long AOrigin); long __stdcall ...
int cmp_int(const void *a, const void *b) { return *(int *)a - *(int *)b; } int main() { int num[100] = { /* 初始化数组 */ }; qsort(num, 100, sizeof(num[0]), cmp_int); // 此时,num数组按升序排列 ...
int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; } ``` 调用`qsort()`函数时,需提供待排序数组、数组元素个数、元素大小及比较函数的指针: ```c int num[100]; qsort(num, 100, sizeof...
int cmp(const void *a, const void *b) { return *(int*)a - *(int*)b; } qsort(num, 100, sizeof(num[0]), cmp); ``` 2. 对字符数组排序(与整型相似): ```cpp char word[100]; int cmp(const void *a, const ...
int __cdecl sort(const void* a, const void* b); }; class Test { public: std::vector<int> mm; void Sort(int (*comp)(const void *,const void *)) { return qsort(mm._Myfirst,mm.size(),sizeof(int),...
int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; } qsort(num, 100, sizeof(num[0]), cmp); ``` 这段代码将 `num` 数组按升序排序。 ##### 字符型数组排序 对于字符型数组,排序方式类似...
int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; // 返回值为负表示a小于b;为零表示相等;为正表示a大于b } qsort(num, 100, sizeof(num[0]), cmp); // 对数组num进行排序 ``` ##### 2....
int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; } qsort(num, 100, sizeof(num[0]), cmp); ``` 这里的`cmp`函数比较两个整数的值,并根据结果返回整数值,`qsort`会依据这个比较规则进行...
void* memcpy(void* destination, const void* source, size_t num); void* dest 目标内存 const void* src 源内存 size_t num 字节个数 库中实现的memcpy函数 struct { char name[40]; int age; } person, ...
int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; } ``` 然后,使用 qsort 函数对整数数组进行排序: ```c int num[100]; qsort(num, 100, sizeof(num[0]), cmp); ``` 二、对字符数组的排序...